知识点
相关文章
更多最近更新
更多java double 保留两位小数
2019-03-09 10:22|来源: 网络
java的double类型要保留两位小数有四种方法,都是四舍五入,例:
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class format {
double f = 111231.5585;
public void m1() {
BigDecimal bg = new BigDecimal(f);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
/**
* DecimalFormat转换最简便
*/
public void m2() {
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));
}
/**
* String.format打印最简便
*/
public void m3() {
System.out.println(String.format("%.2f", f));
}
public void m4() {
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}
public static void main(String[] args) {
format f = new format();
f.m1();
f.m2();
f.m3();
f.m4();
}
}
111231.56
111231.56
111231.56
111,231.56
转自:http://blog.csdn.net/ming1683/article/details/3195058
相关问答
更多-
java中怎么使float保留两位小数或多位小数[2022-02-27]
float都保存的是2进制近似值,所以不存在保留十进制几位小数的情况。 所谓保留几位小数,都是用于十进制显示时的显示格式。 System.out.format("%.2f", 0.12345f); //显示时保留2位小数 System.out.println(String.format("%.2f", 0.12345f));//或,转换成2位小数字符串后显示。 -
内部表示在2和2.00之间没有区别。 您可以使用Math.round将值四舍五入到最接近的整数 - 将该轮舍入到小数点后2位,您可以乘以100,然后除以100,但不应该期望结果恰好为 2dps,由于二进制浮点运算的本质。 如果您只想将值格式化为小数点后两位,请查看DecimalFormat - 如果您在计算时对多个小数位感兴趣, 则应该使用BigDecimal 。 这样你就会知道你确实在处理十进制数字,而不是“最接近的可用double值”。 例如,如果您始终处理小数点后两位,您可能需要考虑的另一个选项是将该 ...
-
如何使用字符串生成器在java中打印两位小数位?(How to print upto two decimal places in java using string builder?)[2023-06-05]
String.format()怎么样? System.out.println(String.format("output: %.2f", 123.456)); 输出: output: 123.46 How about String.format()? System.out.println(String.format("output: %.2f", 123.456)); Output: output: 123.46 -
我使用以下: double x = Math.Truncate(myDoubleValue * 100) / 100; 例如: 如果数字是50.947563,并且您使用以下内容,将会发生以下情况: - Math.Truncate(50.947563 * 100) / 100; - Math.Truncate(5094.7563) / 100; - 5094 / 100 - 50.94 并且你的答案被截断,现在格式化字符串只需执行以下操作: string s = string.Format("{0:N2} ...
-
你在做钱吗 创建一个字符串然后将其转换回来是非常循环的。 使用BigDecimal。 这已经被广泛讨论了。 你应该有一个钱类,金额应该是一个BigDecimal。 即使你没有赚钱,也可以考虑BigDecimal。 Are you working with money? Creating a String and then converting it back is pretty loopy. Use BigDecimal. This has been discussed quite extensively. ...
-
Text.setText( String.format( "Value of a: %.2f", a ) ); yourTextView.setText(String.format("Value of a: %.2f", a));
-
如果你需要使用java.util.Formatter ,这将有效: double amount = 5896324555.59235328; StringBuilder sb = new StringBuilder(); Formatter formatter = new Formatter(sb, Locale.US); formatter.format("$ %(,.2f", amount); System.out.println("Amount is - " + sb); 扩展了Formatter页 ...
-
你需要格式化你的输出。 您可以使用DecimalFormat或者您可以尝试String#格式函数: System.out.println( String.format("Accumulated value is: %.2f", futureInterestValue + investmentAmount)); 所以你可以得到2个十进制输出。 另外,我建议用你的结果创建一个变量,这样你就可以把你的代码变成 double accumulatedValue = futureIntere ...
-
首先,DB中的数据类型是什么? 是否设置为处理小数位/在DB中存储? 你能改变数据库方面的舍入规则吗? 如果没有,您希望在代码中实现舍入。 由于您在示例中使用的是SimpleCursorAdapter,因此它使用convertToString(Cursor)将数据输出到您的视图。 您可以做的是为它创建一个自定义字符串转换器,您可以为指定的列创建可以进行舍入的字符串转换器。 例如: CursorToStringConverter myConverter = new CursorToStringConverte ...
-
一个简单的等式应该有所帮助 double value = 2 + x / 10.0; A simple equation should help out double value = 2 + x / 10.0;