كيف يمكنني تنسيق ضعف العملة تقريب إلى أقرب دولار؟
-
23-08-2019 - |
سؤال
الآن لدي
double numba = 5212.6312
String.Format("{0:C}", Convert.ToInt32(numba) )
هذا سوف يعطيني
$5,213.00
لكنني لا أريد ".00".
أعلم أنني أستطيع فقط إسقاط الأحرف الثلاثة الأخيرة من السلسلة في كل مرة لتحقيق التأثير، ولكن يبدو أنه يجب أن يكون هناك طريقة أسهل.
المحلول
أولا - لا تبقي العملة في double
- إستخدم decimal
في حين أن. كل مرة. ثم استخدم "C0" كميزات تنسيق:
decimal numba = 5212.6312M;
string s = numba.ToString("C0");
نصائح أخرى
هذا ينبغي أن يقوم بالمهمة:
String.Format("{0:C0}", Convert.ToInt32(numba))
الرقم بعد C
يحدد عدد الأماكن العشرية لتضمينها.
أظن أنك تريد حقا أن تستخدم decimal
اكتب لتخزين هذه الأرقام ولكن.
Console.WriteLine(numba.ToString("C0"));
أعتقد أن الطريقة الصحيحة لتحقيق هدفك هو مع هذا:
Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalDigits = 0;
وفقط بعد ذلك يجب عليك القيام باستدعاء التنسيق:
String.Format("{0:C0}", numba)
decimal value = 0.00M;
value = Convert.ToDecimal(12345.12345);
Console.WriteLine(".ToString(\"C\") Formates With Currency $ Sign");
Console.WriteLine(value.ToString("C"));
//OutPut : $12345.12
Console.WriteLine(value.ToString("C1"));
//OutPut : $12345.1
Console.WriteLine(value.ToString("C2"));
//OutPut : $12345.12
Console.WriteLine(value.ToString("C3"));
//OutPut : $12345.123
Console.WriteLine(value.ToString("C4"));
//OutPut : $12345.1235
Console.WriteLine(value.ToString("C5"));
//OutPut : $12345.12345
Console.WriteLine(value.ToString("C6"));
//OutPut : $12345.123450
انقر لرؤية وحدة التحكم خارج وضع الشاشة
نأمل أن يكون هذا قد تساعدك...
شكرا. :)
بسيط: numba.ToString("C2")
أكثر @ http://msdn.microsoft.com/pt-br/library/dwhawy9k(v=vs.110).aspx#cformatstring.
لا تنتمي إلى StackOverflow