java截取小数点后8位_java的double型怎么保留小数点后8位而且不失真?

java的double型怎么保留小数点后8位而且不失真?

1、String.format("%.8f", 1.098765432)

2、new java.text.DecimalFormat("#.00000000").format(nu1.098765432)

这两个都是使用四舍五入,不会失真。

double( 双精度浮点型)是计算机使用的一种资料型别。

比起单精度浮点数(float),double( 双精度浮点数)使用 64 位(8字节) 来储存一个浮点数。

它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308

java的Double的toString(),希望保留小数点后两位小数

DecimalFormat和String.substring()都可以

import java.text.*;

DecimalFormat myFormatter = new DecimalFormat("####.#");

myFormatter.format(double); //注意,这句整体作为String

也可以

String str = double.toString();

str = str.substring(0,str.indexOf(".")+2);

写得匆忙不一定对,自己调试下

怎样保留小数点后面三位

蒙住小数点后三个位置,看第四个位置进行四舍五入

15.5*1.8=27.9保留小数点后一位

15.5*1.8=27.9

保留小数点后一位:27.9

解析

保留一位小数要看小数点第二位、

大于或等于5的进一位、小于的话不用进。

float64保留小数点后3位怎么弄

double x=3.1415926;

printf("%.3lf",x);

float a = 999.3599f; //设数值 int b = (int)Math.Round(a * 1000); //小数点后三位前移,并四舍五入 float c = (float)b / 1000; //还原小数点后三位

%x.3f(注:x是整数部分的域宽,.3是你想保留的3位小数,如果你想保留四位,就把3改成4,以此类推)

func Round(f float64, n int) float64 {

pow10_n := math.Pow10(n)

return math.Trunc((f+0.5/pow10_n)*pow10_n) / pow10_n

}

点击查看隐藏内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值