A. 请问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);
}
B. JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数
你好:
floata=123.2354f;
floatb=(float)(Math.round(a*100))/100;输出123.24
如果想要3位就是把2个100都换成1000
C. 如何在java中输出格式为四舍五入
方法如下:
double d; //d为需要四舍五入的浮点数
int i=(int)(d+0.5); //i为四舍五入后的整数
如果d小数点后的数是0~4,那么d+0.5之后小数点后的数是5~9,将其转化为int,舍去小数点后的数,只保留原先的整数部分
如果d小数点后的数是5~9,那么d+0.5之后小数点后的数是0~4,整数部分的个位数+1,将其转化为int,舍去小数点后的数,只保留+1之后的整数部分
以下是示例代码:
D. 请问java提供什么方法实现将一个浮点数,四舍五入只保留小数点后两位
你好!
(float)Math.round(yournum*100)/100;
yournum
就是你给出的浮点数,然后执行这句话就是你要的结果。以后提问题最好给点悬赏分。
打字不易,采纳哦!
E. 如何把java得出的数值,保留小数点2位四舍五入
我写的C语言的算法,应该你可以转换下吧?呵呵!
就是通过整形数据的特点了;
例如该变量为float
x;浮点型数据
四舍五入的算法为:
{int
i=0;
整型数据;
i=(2*x*100+1)/2;
x=(float)i/100;
}
当保留小数点后两位是用100;3为是1000,1位是当然是10了;
明白?
唉!没学过,看着有点困难。
F. java中小数怎么四舍五入
按照你的要求为不确定保留几位小数的字符串做四舍五入的Java程序如下
import java.math.BigDecimal;
public class A {
public static void main(String[] args) {
String s="0.00000999999997";
//四舍五入,length是小数位数
int length=s.substring(s.indexOf(".")+1).length();
String s1=String.format("%."+(length-1)+"f",new BigDecimal(s));
//去尾部0
BigDecimal bd=new BigDecimal(s1).stripTrailingZeros();
System.out.println(bd.toPlainString());
}
}
G. 如何把java得出的数值,保留小数点2位四舍五入
// 方式一:
double f = 3.1516;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
// 方式二:
new java.text.DecimalFormat("#.00").format(3.1415926);
// #.00 表示两位小数 #.0000四位小数 以此类推…
// 方式三:
double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。
//方法四:
Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15为就在前面补0
H. 要四舍五入保留一位小数,JAVA如何实现
doublex1=0.026;
BigDecimalbd=newBigDecimalresult_value();
BigDecimalbd2=bd.setScale(1,BigDecimal.ROUND_HALF_UP);
get_double=Double.ParseDouble(bd2.ToString());
I. java中,强制转换符把float转换为int时,按四舍五入,还是直接丢掉小数部分
直接舍掉小数 比如float是4.7 转换成int 后是4 而不是5 要四舍五入的话转换前先加上0.5
比如 int i ; double j = 4.7; i = (int)(j+0.5);