导航:首页 > 编程语言 > javafloat保留两位小数

javafloat保留两位小数

发布时间:2023-07-28 04:34:34

A. java 如何使的float保留2位或者多位小数

表明四舍五入,保留两位小数即float ft = 134.3435f; int scale = 2;//设置位数 int roundingMode = 4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等. BigDecimal bd = new BigDecimal((double)ft); bd = bd.setScale(scale,roundingMode); ft = bd.floatValue();方法2:importjava.text.DecimalFormat;Stringa=newDecimalFormat(###,###,###.##).format(100.12345);即float scale = 34.236323; DecimalFormat fnum = new DecimalFormat(##0.00); String dd=fnum.format(scale); System.out.println(dd); 方法3:最简单的方法 float b = (float)(Math.round(a*100))/100;(这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000)

B. 请问:在Java语言中如何把一个浮点数精确到小数点后的某几位

--Math.round()
(double)(Math.round(sd3*10000)/10000.0);

这样为保持4位

(double)(Math.round(sd3*100)/100.0);

这样为保持2位.
--BigDecimal
//保留小数点后两位小数
publicdoubleNumber2(doublepDouble)
{
BigDecimalbd=newBigDecimal(pDouble);
BigDecimalbd1=bd.setScale(2,bd.ROUND_HALF_UP);
pDouble=bd1.doubleValue();
longll=Double.doubleToLongBits(pDouble);

returnpDouble;
}
格式化输出数字
--NumberFormat
--java.text包中的一些包可以处理这类问题。下面的简单范例使用那些类解决上面提出的问题:
importjava.text.NumberFormat;
importjava.util.Locale;
publicclassDecimalFormat1{
publicstaticvoidmain(Stringargs[]){
//得到本地的缺省格式
NumberFormatnf1=NumberFormat.getInstance();
System.out.println(nf1.format(1234.56));
//得到德国的格式
NumberFormatnf2=
NumberFormat.getInstance(Locale.GERMAN);
System.out.println(nf2.format(1234.56));
}
}
--DecimalFormat
importjava.text.DecimalFormat;
importjava.util.Locale;
publicclassDecimalFormat2{
publicstaticvoidmain(Stringargs[]){
//得到本地的缺省格式
DecimalFormatdf1=newDecimalFormat("####.000");
System.out.println(df1.format(1234.56));
//得到德国的格式
Locale.setDefault(Locale.GERMAN);
DecimalFormatdf2=newDecimalFormat("####.000");
System.out.println(df2.format(1234.56));
}
}

C. java怎样用float 保留2位有效小数 例如:64.02 64.00

public class Hello{
public static void main(String[] args){
float f = 12f;
java.text.DecimalFormat df = new java.text.DecimalFormat("#0.00");
String sf = df.format(f);
System.out.println();
}
}

D. java float类型默认小数点后几位

你好,float,double默认值为0.0;
java中float,double的小数点后面限制位数的方法
我以一个小数点后面保留两位为例:(都是四舍五入)
1.
import Java.text.DecimalFormat;

double x=23.5455;
NumberFormat format1=NumberFormat.getNumberInstance() ;
format1.setMaximumFractionDigits(2);
String s = format1.format(x);
2.
import java.text.DecimalFormat;

DecimalFormat format2 = new DecimalFormat( "0.00 ");
double x=23.5455;
x = Double.parseDouble(format2.format(x));

最近想到第三种方法:
3.下面我以小数点后面两位为例,先扩大100倍进行四舍五入,然后除以100转为double就可以,我喜欢这方法,就可以不用去记住其他方法了。***3位小数为1000,4位则10000
double x=23.5455;
x = (double)Math.round((double)(x*100))/100;

E. 请问java提供什么方法实现将一个浮点数,四舍五入只保留小数点后两位

第一:从数据库读出时可以进行操作,将读出的数据进行处理后输出,这里可以用数据库提供的方法。这里不多提。
第二:也可以用JAVA进行处理,方法很多。
这里说两种吧:
第一
BigDecimal bd = new BigDecima("5.14881");
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP); System.out.println(bd);

第二
static double convert(double value){
long l1 = Math.round(value*100); //四舍五入
double ret = l1/100.0; //注意:使用 100.0 而不是 100
return ret;
}

public static void main(String[] args) {
// BigDecimal bd = new BigDecimal("3.14159265");
// bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
double bd = convert(3.14559);

System.out.println(bd);
}

F. java中float类型保留2位小数,第3位值>0就向第二位进1 怎样实现

可以直接通过判断第三位的值,如果第三位乘以1000,之后对10求余,如果大于0,直接给第二位加上一个值“10”,在除以1000即可。
float f1 = 3.222f;
int num = (int) (f1 * 1000);
if (num % 10 > 0)
f1 = (num -num % 10 + 10 * 1.0f) / 1000.0f;
else
f 1= num * 1.0f / 1000.0f;
System.out.println(f);
输出结果:3.23.

阅读全文

与javafloat保留两位小数相关的资料

热点内容
找人缓解压力 浏览:929
iphone的pdf 浏览:342
90压缩饼干怎么吃 浏览:660
php教材下载 浏览:906
什么解压密码最好 浏览:582
数据库与服务器如何连接 浏览:436
架构师需要阅读的源码 浏览:475
ch编译器 浏览:448
java必须自己写一个编译器吗 浏览:938
如何制作androidrom 浏览:470
单片机万能板怎么写入程序 浏览:21
迈锐宝xl压缩比 浏览:340
靠算法买彩票 浏览:497
程序员考核d 浏览:239
自助游中国pdf 浏览:746
安卓p40是什么手机 浏览:87
24cxx编程器 浏览:591
阴阳师如何查看哪个服务器有ID 浏览:316
公务员照片压缩 浏览:458
编译的时候怎么找未定义的函数 浏览:352