float类型输出会有几位小数,java float保留两位小数输出
00-1010浮点数的整数部分和小数部分分别用三种方法输出和显示:java。浮点舍入。
目录
00-1010平方1:直接类型转换,然后加减。问题是类型转换引起的小数位精度变化。目前还没有找到解决方案。
Party 2:在将其转换成字符串后,使用。split方法直接从小数点开始拆分。
Party 3:转换成字符串后,标记小数点位置,用substring方法构造两个子字符串。
注意点:
负数四舍五入,比如-1.2的整数部分为-2,小数部分为0.8//三种方法//负数和正数的整数情况需要分别考虑:导入Java . util . *;public class Split { public static void main(String[]args){ float num,b;int a,pointIndexScanner s=新扫描仪(system . in);System.out.println(请输入一个浮点数:);num=s . next float();//判断正负if(num=0) {//计算正的部分。//方法一:直接转换数字类型后加减。问题是转换类型会导致小数部分改变。不知道怎么解决!a=(int)num;b=num-a;System.out.println(num 整数部分: a );System.out.println(num 小数部分: b );//方法二:转换成字符串,用方法split将字符串str=String.valueOf(num)分在小数点前后;//将float类型转换为String String[]ary=str . split( . );system . out . println(num 的整数部分为: ary[0]);system . out . println(num的小数部分为:“0。”ary[1]);//方法三:同样转换成字符串,并标记小数点位置pointindex=str.indexOf( . )的方法indexofsystem . out . println(num 的整数部分为: str.substring(0,point index));system . out . println(num 的小数部分为: 0 str.substring (pointindex,str . length()));}//计算负的部分。注意-1.7的正数部分是-2,小数部分是0.3 else {//square one a=(int)num-1;b=num-a;System.out.println(num 整数部分: a );System.out.println(num 小数部分: b );//square two String str=String . value of(num);//将float类型转换为String String[]ary=str . split( . );a=integer . parse int(ary[0])-1;b=1 - Float.parseFloat(0。ary[1]);//需要计算转换成浮点类型System.out.println(又是num(num 的整数部分为: a );system . out . println(num 的小数部分为: b );//Square this point index=str . index of( . );a=integer . parse int(str . substring(0,point index))-1;b=1-float . parse float( 0 str . substring(point index));system . out . println(num 的整数部分为: a );system . out . println(num 的小数部分为: b );}}}这个问题很适合后面的按钮练习。
00-1010向上舍入:Math.ceil() //所有小数向下舍入:Math.floor() //无小数向上舍入:Math.round() //向上舍入是我的个人经验。希望能给你一个参考,支持盛行的it。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。