当我尝试将 4 位小数(解决方案中要求)添加到 2 位小数的双精度值时,发生了一件奇怪的事情:
不正确的值:
var result = string.Format("{0:#,0.0000}", Math.Truncate(2.03*10000)/10000);
//返回 2.0299
正确值:
var result = string.Format("{0:#,0.0000}", Math.Truncate(2.02*10000)/10000);
//返回 2.0200
和:
var result = string.Format("{0:#,0.0000}", Math.Truncate(2.04*10000)/10000);
//返回 2.0400
知道为什么这只发生在 2.03 上吗?12.03 作为输入值返回 12.0300 btw。
我搞不清楚了。请帮忙。