导航:首页 > 编程语言 > 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保留两位小数相关的资料

热点内容
数据库查询系统源码 浏览:617
php5314 浏览:358
完美国际安装到哪个文件夹 浏览:669
什么app可以扫一扫做题 浏览:540
程序员编码论坛 浏览:924
淘点是什么app 浏览:660
中国高等植物pdf 浏览:454
51单片机时间 浏览:182
后台如何获取服务器ip 浏览:267
单片机流水灯程序c语言 浏览:236
程序员第二职业挣钱 浏览:240
运行里怎么输入服务器路径 浏览:843
pythonstepwise 浏览:512
刘一男词汇速记指南pdf 浏览:66
php认证级别 浏览:371
方舟编译啥时候推送 浏览:1012
php手机验证码生成 浏览:677
哲学思维pdf 浏览:17
凌达压缩机有限公司招聘 浏览:535
weblogic命令部署 浏览:39