我正在计算折扣后的产品价格。一个例子是产品A将是100美元,折扣11.5%。当我将11.5%的折扣存储为小数时,如
myDecimal = 0.885M
变量四舍五入到2位变为0.89。我使用了错误的数据类型吗?我不确定还有什么用,因为我因为数学错误而被教导不使用浮点值。
什么是解决方案?
答案 0 :(得分:2)
您只是查看小数的字符串表示形式,它似乎给您2位小数,尝试使用不同的string format specification这样的内容。
static void Main(string[] args)
{
decimal myDecimal = 0.885M;
Console.WriteLine(myDecimal.ToString("N"));
Console.WriteLine(myDecimal.ToString("N3"));
Console.ReadLine();
}
根据MSDN的默认Decimal.ToString()
实施规定:
ToString方法以当前文化的默认(“G”或一般)格式格式化十进制值。