这就是我正在做的事情,它在99.999%的时间内都有效:

((int)(customerBatch.Amount * 100.0)).ToString()

金额是 double 。我试图将几美分的值(value)写到一个文本文件中,以传输到服务器进行处理。金额永远不会超过2位数的精度。

如果将580.55用作金额,则此行代码将返回58054作为字符串值。

此代码在64位Web服务器上运行。

有任何想法吗?

最佳答案

您应该真正使用十进制进行货币计算。

((int)(580.55m * 100.0m)).ToString().Dump();

10-06 12:22