Java使用DecimalFormat格式化Double小数时赋值报错问题求助
问题分析
你的代码存在两个核心错误:
- 第二行语法逻辑混乱,连续赋值操作完全不符合Java语法规范,额外多写了
DecimalFormat =这段无效内容 - 没有调用你预先创建的
DecimalFormat实例df的format()方法,直接将double类型的计算结果赋值给String类型变量,类型不匹配无法编译
修正代码
你只需要调用df实例的format()方法,传入计算得到的数值即可得到格式化后的字符串:
import java.text.DecimalFormat; public class Test { public static void main(String[] args) { // 此处替换为你实际的P和t的取值 double P = 120000.0; int t = 90; DecimalFormat df = new DecimalFormat("###,###.00"); // 计算数值 double result = ((P * t) / 360) * 0.025; // 调用format方法完成格式化 String output = df.format(result); System.out.println(output); } }
如果你需要指定四舍五入规则避免精度问题,可以在初始化DecimalFormat后追加设置 rounding mode:
import java.math.RoundingMode; // ...其他代码 df.setRoundingMode(RoundingMode.HALF_UP);
内容的提问来源于stack exchange,提问作者yukihira
相关产品推荐
相关产品推荐

