如何在Java中将十进制75.95转换为7595?
我有一个程序,需要将如何在Java中将十进制75.95转换为7595?,java,converter,Java,Converter,我有一个程序,需要将double 75.95转换为普通整数7595。如何编写实际的程序 我的代码是: class test5 { public static void main(String args[]) { double d = 75.95; System.out.println("Price before converting = "+d); int i = (int)d; System.out.println("(float
double 75.95
转换为普通整数7595
。如何编写实际的程序
我的代码是:
class test5 {
public static void main(String args[]) {
double d = 75.95;
System.out.println("Price before converting = "+d);
int i = (int)d;
System.out.println("(float)d = "+i);
}
}
为什么乘以100不起作用,有什么特别的原因吗
class test5 {
public static void main(String args[]) {
double d = 75.95;
System.out.println("Price before converting = "+d);
long i = Math.round(d * 100);
System.out.println("(float)d = "+i);
}
}
你必须小心舍入误差。请参阅:现在,我的代码是这样的,并且可以正常工作:)谢谢大家:)
您可以乘以常数100(如果只有两个小数点,则始终为两个小数点)。如果有更多,您可以使用
String.valueOf(double)
并删除“.”并调用double
adouble
(而不是float
)。差不多
double d = 75.95;
// int val = (int) (d * 100); // <-- or this.
String str = String.valueOf(d).replace(".", "");
int val = Integer.valueOf(str);
System.out.printf("(double)%f = (int)%d%n", d, val);
你想用75.9做什么?
(int)(d*100)
?我需要将75.95直接转换成7595。我的教科书问题是:编写一个程序,读取十进制形式(如75.95)的项目价格,并以paise(如7595 paise)打印输出…嘿,谢谢,我得到了答案:)这将丢失小数点后的值。。。。也就是说,对于75.95,它将提供7500作为输出。。。这是不正确的。。。请检查您的代码…Math.round
返回一个long
;)
double d = 75.95;
// int val = (int) (d * 100); // <-- or this.
String str = String.valueOf(d).replace(".", "");
int val = Integer.valueOf(str);
System.out.printf("(double)%f = (int)%d%n", d, val);
(double)75.950000 = (int)7595