如果在小数位后找到较小的整数,我需要动态地在小数位末尾设置“0”。
假设我们有价值:“535.8” 现在我需要将其设置为“535.800” 我有以下代码:
string cost = "535.8";
string decplace = "3";
decimal price = decimal.Round(Convert.ToDecimal(cost), Convert.ToInt32(decplace));
Console.WriteLine(price);
Console.ReadLine();
无法获得535.800。
我怎样才能做到这一点?
答案 0 :(得分:1)
您可以将价格转换为字符串,并显示最多3个小数位,最后为0。
string cost = "535.8";
string decplace = "3";
decimal price = decimal.Round(Convert.ToDecimal(cost), Convert.ToInt32(decplace));
//string.Format("{0:N2}", price);
Console.WriteLine(string.Format("{0:N3}", price));
答案 1 :(得分:0)
price.ToString("N3")
Standard Numeric Format Strings: The Numeric ("N") Format Specifier
所以如果十进制数应该是动态的:
int numDecimalPlaces = 3;
Console.WriteLine(price.ToString("N" + numDecimalPlaces));
答案 2 :(得分:0)
您可以使用string.Format()
使其成为可能:
Console.WriteLine(string.Format("{0:N3}", d));
所以在你的代码中:
string cost = "535.8";
string decplace = "3";
decimal price = decimal.Round(Convert.ToDecimal(cost), Convert.ToInt32(decplace));
Console.WriteLine(string.Format("{0:N" + decplace + "}", price);
Console.ReadLine();