当前位置:首页 » 编程语言 » java保留小数

java保留小数

发布时间: 2022-01-08 07:54:31

java中保留小数问题!!!

double i = 12.3659963; //设数值
int j = (int)Math.round(i * 100); //小数点后两位前移,并四舍五入
double k = (double)j / 100.00; //还原小数点后两位

㈡ java 保留一位小数

按照你的要求编写的Java程序如下:

importjava.util.Scanner;

publicclassA{

publicstaticvoidmain(String[]args){

intb=1024;

Scannersc=newScanner(System.in);

System.out.println("请输入任意整数:");

inta=sc.nextInt();

doublec=(double)a/b;

System.out.println(String.format("%.1f",c));

}

}

运行结果:

请输入任意整数:
3679
3.6

㈢ java 怎么保留2位小数

java保留两位小数的方法:

方式一:

四舍五入
doublef=111231.5585;
BigDecimalb=newBigDecimal(f);
doublef1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数

方式二:

java.text.DecimalFormatdf=newjava.text.DecimalFormat("#.00");
df.format(要格式化的数字);
例:newjava.text.DecimalFormat("#.00").format(3.1415926)
#.00表示两位小数#.0000四位小数以此类推...

方式三:

doubled=3.1415926;
Stringresult=String.format("%.2f");
%.2f%.表示小数点前任意位数2表示两位小数格式后的结果为f表示浮点型

㈣ java中保留小数点后几位是怎么设的

有两种情况:
1、只要输出结果的时候可以用以下方法:
double x1 = 0.026;
System.out.println(String.format("%.2f", x1));
结果:0.03
2、使用数据转换(4种方法)
//方案一:
get_double = (double)(Math.round(result_value*100)/100.0)
//方案二:
DecimalFormat df = new DecimalFormat("#.##");
get_double = Double.ParseDouble(df.format(result_value));
//方案三:
get_double = Double.ParseDouble(String.format("%.2f",result_value));
//方案四:
BigDecimal bd = new BigDecimalresult_value();
BigDecimal bd2 = bd.setScale(2,BigDecimal .ROUND_HALF_UP);
get_double = Double.ParseDouble(bd2.ToString());

㈤ java里怎样让float保留3位小数

有一个方法很简单,保留三个小数,就是乘以1000(10的3次方),取整,再除以1000

float f = (int)Math.round(0.0346562*1000)/1000f; //(注:f表示float,省了会错)

System.out.println(f*100+"%");

㈥ java保留两位小数

网上回答基本上都是复制,最少都是2015年之前的,比较复杂,目前主流简单

已知一个float x=100.12314f;

保留2位数,则*/都是100;添加这一句后输出即可

x=(float)(int) (X*100)/100;

publicclassMain{

publicstaticvoidmain(String[]args){

floatx=100.12314f;

x=(float)(int)(X*100)/100;

System.out.printf(x);

}
}

回答这个问题算是自己备忘一下,老是搜索到一大堆乱七八糟复杂化的博客

㈦ Java中怎样保留两位小数。是不是要用Math.round()啊

总的说来,我用了两中方式。
System.out.printf("f(%d)= %.2f\n",x,y);printf是java继承C来的,可以用c的方式来格式化输出。
还有就是java自己提供了更为丰富的格式化输出。用到Format,format 是一个用于格式化语言环境敏感的信息(如日期、消息和数字)的抽象基类。 Format 定义了编程接口,用于将语言环境敏感的对象格式化为 String(使用 format 方法)和将 String 重新解析为对象(使用 parseObject 方法)。数字
NumberFormat 用于格式化输出 数字,在java.text.包中,如果你有API,那就很简单的多了。
你复制下去,运行一下,我测试的是
3
2 =0.5
3 =0.33
4 =0.25
和你的要求一样。希望采纳。
import java.text.NumberFormat;
import java.util.Scanner;
public class Test
{
public static void main(String args[])
{
int repeat, ri,x;
double y;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
NumberFormat f=NumberFormat.getInstance();
f.setMaximumFractionDigits(2);
for(ri = 1; ri <= repeat; ri++)
{
x=in.nextInt();
/*---------*/
if(x!=0)
y=1.0/x; //还有在这里,是1.0/x,不然结果全是0.如果不懂,下面有连接,我回答的

else
y=0;
//System.out.println("f("+x+")="+y);
String s=f.format(y);
//System.out.printf("f(%d)= %.2f\n",x,y);
System.out.println("f("+x+")="+s);
//如果要得到你所说的,我建议用numberformat来格式化输出。
}
}
}

http://..com/question/390739373.html?old=1&afterAnswer=1#here

㈧ 急求!!Java中怎样任意保留小数位

DecimalFormat这个类的format方法
DecimalFormat f = new DecimalDormat("#.00");
System.out.println(f.format(这个地方写需要保留2为小数的变量或者常量));

肯定是这个类,肯定是这样的格式控制,至于("#.00")这样好像有些BUG,如果("00.00")如果是1好像不会自动补齐左边的0而是1.00,以前我遇到过你最好网络一下,再查看一下JDK文档给出的format方法的用法。

㈨ java 保留两位小数点

var f : float;
str : string;
begin
f := 1.123;
str := FormatFloat('0.00', f);
end;

str的结果是1.12

㈩ java如何保留一位小数


doubled=3.1415926;
Stringresult=String.format("%.1f");

%. 表示 小数点前任意位数

1 表示保留1位小数

f 表示浮点型

热点内容
笔记本什么配置能流畅运行cf 发布:2024-09-20 00:14:19 浏览:951
实测华为编译器 发布:2024-09-19 23:50:52 浏览:821
linux汇总 发布:2024-09-19 23:46:39 浏览:452
阿里云服务器环境搭建教程 发布:2024-09-19 23:21:58 浏览:837
黄色文件夹图标 发布:2024-09-19 23:19:22 浏览:684
mysql数据库导出导入 发布:2024-09-19 23:00:47 浏览:183
lua脚本精灵 发布:2024-09-19 23:00:41 浏览:659
任务栏文件夹图标 发布:2024-09-19 22:54:25 浏览:101
解压来一波 发布:2024-09-19 22:46:36 浏览:933
mysqlpythonubuntu 发布:2024-09-19 22:46:27 浏览:501