我有一个指数数:4.65661287307739E-10
当我使用 JavaScript 将其四舍五入时,它被转换为 5。我使用以下代码
var roundFormattedNumber = function (n) {
var val = parseFloat(n.replace(/[^0-9.]/g, '')).toFixed(0);
Ext.util.Format.thousandSeparator = ',';
Ext.util.Format.decimalSeparator = '.';
return Ext.util.Format.number(val, '0,000');
};
当我尝试首先使用 C# 将此数字解析为十进制时,我得到:0.000000000465661287307739M
decimal amount;
decimal.TryParse("4.65661287307739E-10", NumberStyles.Any, CultureInfo.InvariantCulture, out amount);
如果我使用 C# 对这个值进行四舍五入,结果将与 JavaScript 结果不同。
为什么有区别?哪个结果正确?
请建议。
谢谢