Java:包含所有十进制值的脚本

我有一些java,它将价格乘以100,以使价格成为整数。但是在下面的示例中,28197.22 * 100返回2819700而不是2819722

代码

oExtendedLineCost =
String.valueOf((long)(Double.valueOf(iInvoiceAmount.trim()).doubleValue()*100.0+0.5));


慕仙森
浏览 92回答 1
1回答

至尊宝的传说

我认为你的括号顺序不对。而且,看起来您正在尝试在截断为整数之前进行一些舍入。有时,拆行以查看括号所在的位置会有所帮助:oExtendedLineCost =String.valueOf(               (long)(                      (                       Double.valueOf(                                      iInvoiceAmount.trim()                                     )*100.0+0.5                      )                     )              );看起来您正在尝试进行一些“银行家四舍五入”,其中 1 美元 > 0.5 的小数部分向上舍入,但我不确定转换为多头是否会像您期望的那样四舍五入。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java