当前位置: 首页 > 知识库问答 >
问题:

使用DecimalFormat将双个数截断到小数点后两位:API的用法记录为@sine1.6+error

郁烨
2023-03-14

我试图使用此代码从intial编号2.90689中打印编号2.90:

double number = 2.90689;
DecimalFormat df = new DecimalFormat("#.##");
df.setRoundingMode(RoundingMode.FLOOR);  //error
System.out.println(df.format(number));

但是,在尝试设置舍入模式时,我获得了API的用法,记录为@sine1.6+error。我如何用现代的方式解决这个问题?我找到的所有答案都使用这个看似不推荐的代码

PS:这不是错误,而是IDE中的警告。运行时,它也不能正常工作:打印2.9而不是2.90。我创建了这个repl:https://repl.it/repls/illinterestingcomputers。

共有1个答案

欧阳德运
2023-03-14
double number = 2.90689;
DecimalFormat df = new DecimalFormat("#.00");
df.setRoundingMode(RoundingMode.FLOOR);  //error
System.out.println(df.format(number));

请查看https://docs.oracle.com/javase/7/docs/api/java/text/decimalformat.html

0   Number  Yes Digit
#   Number  Yes Digit, zero shows as absent
 类似资料:
  • 问题内容: 例如,我有变量3.545555555,我希望将其截断为3.54。 问题答案: 如果您希望将其用于显示目的,请使用: 如果需要进行计算,请使用:

  • 我想把54.5345四舍五入到54.54,也就是说,如果我有第三个小数位,那么我想在第二个小数位上加1。 我试过用math.round但如果第三小数小于5,它总是四舍五入

  • 问题内容: 应该很容易。我本来是用javascript来做的,但是在设置我的处理程序页面中的表单之前必须先做。无论如何,我需要使这些值具有2个小数位。Ex 219333.5888888必须为219333.58。有修剪功能或其他功能吗? 问题答案: 这是格式化十进制值的简单示例

  • 问题内容: 假设我的值为15.7784514,我想不进行四舍五入地显示为15.77。 结果是 - 如何显示15.77? 问题答案: 将数字转换为字符串,将数字匹配到小数点后第二位: 该方法在某些情况下(与)不同而失败,因此请务必小心。

  • 问题内容: 将PHP字符串四舍五入到小数点后两位的正确方法是什么? 输出应该是; 函数定义应该如何? 问题答案: 您可以使用number_format(): 例: 该函数返回一个 字符串 。

  • 问题内容: 我想使用双精度最多2个小数位。即,它将最多存储2个小数位,如果比较两个双精度值,则比较应仅基于前2个小数位。如何实现这样的事情?我的意思是存储,比较所有内容都将仅基于小数点后两位。其余位置可能不同,大于,小于,无所谓。 编辑 我的价值观不大。说从0到5000最大值。但是我必须乘以Cos A,Sin A很多次,其中A的值在程序过程中不断变化。 编辑 在我的程序中,汽车以特定速度(例如12