You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

要求返回保留1位小数的double类型值的代码问题咨询

解决保留1位小数并返回严格double类型的问题

问题分析

现有代码通过字符串格式化转decimal再转回double的方式,逻辑上能得到82.0,但转换后的double值82和82.0在二进制存储中是等价的,且这种绕转方式冗余易混淆。我们需要直接生成保留1位小数的double类型值,确保返回严格符合要求的82.0。

修改后的代码

if(cartWeight >= 10)
{
    totalPrice = 100;
    double price = totalPrice - (totalPrice * 18.0 / 100);
    // 直接用Math.Round保留1位小数,得到double类型的82.0
    price = Math.Round(price, 1);
    return price;
}

说明

  • 使用Math.Round(price, 1)可直接对double值做1位小数的四舍五入处理,返回结果仍为double类型,能严格保证1位小数精度,即82.0。
  • 去掉了多余的decimal转换步骤,避免字符串格式化带来的额外开销和类型转换的不必要复杂度。
  • 若需输出时显示为82.0,可在输出环节做格式化处理,但返回的double数值本身已符合要求。

内容的提问来源于stack exchange,提问作者Amit Kumar Ojha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 21:27:39