কেন 0.ToString ("#। ##") 0.00 বা কমপক্ষে 0 এর পরিবর্তে খালি স্ট্রিংটি ফেরত দেয়?


114

কেন 0.ToString("#.##")একটি খালি স্ট্রিং ফিরে আসে ? এটি 0.00বা কমপক্ষে 0 হওয়া উচিত নয় ?

উত্তর:


185

#স্ট্রিং বিন্যাসে মানটি .চ্ছিক নির্দেশ করে। আপনি যদি আউটপুট পেতে চান তবে আপনার 0.00নিম্নলিখিতটি প্রয়োজন:

0.ToString("0.00");

এই পদ্ধতিতে পাস করা যেতে পারে এমন কাস্টম সংখ্যার ফর্ম্যাটগুলির জন্য এখানে দেখুন ।


3
একটি জিনিস এখনও আমাকে বিভ্রান্ত করেছে যে ফলাফলটি 0 কেন নয় Because কারণ 0 alচ্ছিক নয়। খালি কি বোধগম্য হয়?
ব্যবহারকারী 960567

135

কারণ একটি ফর্ম্যাট স্ট্রিংয়ে, এটি #একটি alচ্ছিক চরিত্রের স্থানধারককে বোঝাতে ব্যবহৃত হয়; সংখ্যাটি উপস্থাপন করার প্রয়োজন হলে এটি কেবলমাত্র ব্যবহৃত হয় ।

পরিবর্তে আপনি যদি এটি করেন: 0.ToString("0.##");আপনি পাবেন:0

মজার বিষয়, আপনি যদি এটি করেন: 0.ToString("#.0#");আপনি পাবেন:.0

আপনি যদি তিনটি সংখ্যা চান: 0.ToString("0.00"); উত্পাদন করে:0.00


মন্তব্য থেকে এই উত্তর, আপনার যুক্তি মনে হয়,

এটি '0' দেখানো উচিত, কারণ সংখ্যার মান 0 হলে কেউ কেন কখনও খালি স্ট্রিং দেখতে চাইবে?

প্রতিক্রিয়াটি সহজ: আপনি কীভাবে এটি প্রদর্শিত হতে চান তা পছন্দ করে নিন। এটিই কাস্টম বিন্যাসের স্ট্রিংগুলির জন্য। আপনি কেবল আপনার প্রয়োজনের জন্য ভুল ফর্ম্যাট স্ট্রিংটি বেছে নিয়েছেন


20

ডিজিটাল প্লেসমোল্ডার সম্পর্কিত ডকুমেন্টেশন অনুসারে ।

যদি বিন্যাসে মানটির এমন একটি সংখ্যা থাকে যেখানে '#' বিন্যাসের স্ট্রিংয়ে উপস্থিত হয়, তবে সেই অঙ্কটি ফলাফল স্ট্রিংয়ে অনুলিপি করা হয়। অন্যথায়, ফলাফল স্ট্রিংয়ে কিছুতেই সেই অবস্থানের মধ্যে সংরক্ষণ করা হয় না। এই নির্দিষ্টকরণকারকটি '0' অক্ষরটি কখনই প্রদর্শন করে না যদি এটি উল্লেখযোগ্য অঙ্ক না হয়, এমনকি যদি '0' স্ট্রিংয়ের একমাত্র অঙ্ক হয়। এটি যদি '0' অক্ষরটি প্রদর্শিত হয় তবে এটি প্রদর্শিত সংখ্যার মধ্যে উল্লেখযোগ্য অঙ্ক হয়। "##" ফর্ম্যাট স্ট্রিংয়ের ফলে মানটি দশমিকের পূর্বের নিকটতম অঙ্কে গোল হয়ে যায়, যেখানে শূন্য থেকে দূরে থাকা সর্বদা ব্যবহৃত হয়। উদাহরণস্বরূপ, "##" দিয়ে 34.5 ফর্ম্যাট করার ফলে 35 এর মান হবে in

আপনি যদি শূন্য প্রদর্শন করতে চান তবে জিরো প্লেসহোল্ডারটি ব্যবহার করুন

f বিন্যাসিত মানটির এমন একটি অবস্থান রয়েছে যেখানে '0' বিন্যাসের স্ট্রিংয়ে উপস্থিত হয়, তবে সেই অঙ্কটি ফলাফলের স্ট্রিংয়ে অনুলিপি করা হয়। দশমিক বিন্দুর আগে বামে '0' এর অবস্থান এবং দশমিক বিন্দুর পরে ডানদিকের '0' এর অবস্থান ফলাফলের স্ট্রিংয়ে সর্বদা উপস্থিত অঙ্কগুলির পরিসীমা নির্ধারণ করে।
"00" নির্দিষ্টকরণকারকটির ফলে দশমিকের পূর্ববর্তী নিকটতম অঙ্কে মানটি গোলাকার হয়ে যায়, যেখানে শূন্য থেকে দূরে থাকা সর্বদা ব্যবহৃত হয়। উদাহরণস্বরূপ, "00" দিয়ে 34.5 ফর্ম্যাট করার ফলে 35 টির মান হবে।


2

এটা চেষ্টা কর 0.ToString("#,##; #,##;0")

https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings#SectionSeparator

প্রথম বিভাগটি ইতিবাচক মানগুলিতে প্রযোজ্য, দ্বিতীয় বিভাগটি নেতিবাচক মানগুলিতে প্রযোজ্য, এবং তৃতীয় বিভাগটি শূন্যগুলির জন্য প্রযোজ্য।


-1

এটি এর মতো ব্যবহার করুন:

0.ToString("#0.##")

0পরে #মান 0 হলে আউটপুট মান সেট করা নিশ্চিত করবে যদি অন্যটি মানটি প্রদর্শন করে। তাই 0.0.ToString("#0.##")=0.00এবং10.ToString("#.##")=10.00

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.