强制小数点和 0 在小数点后使用小数点。解析



我正在使用decimal.Parse():将字符串转换为十进制

decimal.Parse(transactionAmount)

如果transactionAmount包含一个整数,如1,则结果为1的十进制值。由于某种未知原因,我将其发送到程序外部的系统将其视为1美分,除非它显示为1.00。如何确保整数包含小数点和零(如1.0(?

decimal包含点后的位数,作为其内部表示的一部分。所以1m1.00m是不同的十进制值。因此,所有解析/格式化操作都将尝试保留来自/到字符串形式的信息,除非另有规定。

确保小数分隔符后至少有两位数的一种方法是添加正确的0-0.00m:

decimal decimalOne = decimal.Parse("1"); // 1.
decimal decimalWithTwoDigit = decimalOne + 0.00m; // 1.00

请注意,以二进制形式向外部程序发送十进制值是不常见的。最有可能的是,您实际上需要格式化只有两位小数的十进制值,如C#-.ToString("#.00")中强制两位小数所述。

尝试Convert.ToDecimal((而不是decimal。分析((

最新更新