在Java中,如何从声明的int值转换为十进制近似值

在Java中,如何从声明的int值转换为十进制近似值,java,int,decimal,Java,Int,Decimal,这意味着int被放入一个System.out.println()中;划分它们的方法。但是这个值是一个整数,如何将输出的值作为一个整数,并从声明的int值中得到一个十进制值 谢谢你有两种方法,但你只需要施展一下: int myInt = 42; System.out.println((double) myInt); //Formatter System.out.printf("%.2f\n", (double) myInt); //control output, e.g. 2 decimal pl

这意味着int被放入一个System.out.println()中;划分它们的方法。但是这个值是一个整数,如何将输出的值作为一个整数,并从声明的int值中得到一个十进制值


谢谢你

有两种方法,但你只需要施展一下:

int myInt = 42;
System.out.println((double) myInt);
//Formatter
System.out.printf("%.2f\n", (double) myInt); //control output, e.g. 2 decimal places

我相信问题在于你有两个整数值,你想把它们合并成一个数字,其中一个整数在小数部分

如果这是你的问题,那么你可以通过一个简单的while循环来解决它

double wholePart = (double) userInput;
double decimalPart = (double) userInput;

while(Math.abs(decimalPart)>=1)
decimalPart /= 10;

System.out.print(Math.sign(decimalPart * wholePart) (Math.abs(wholePart) + Math.abs(decimalPart)));

编辑2:使用绝对值无法理解问题所在。请提供一些关于你真正要做什么的代码好吗?我只是想让我声明的整数从我代码第一部分声明/初始化中的整数变成整数,然后一旦它打印出来,我想把这些整数转换成小数。我通过流氓的帮助解决了这个问题。我只是在System.out.print()的括号中的每个int前面打了一个double;但现在我的问题是满足一个条件,有时十进制数是正数或负数。我可以很好地设置逻辑。但每次我在打印件里放底片时();当我把“-”放进去的时候,它会把所有的东西都变成一个字符串。谢谢!成功了。现在我的问题是我想打印小数点,但如果用户选择需要打印正数,则需要打印负数。我只想把底片拍出来。但每次我这样做时,(double)int的其余部分就会转换成字符串。我试着把它放在“-”上,然后我只是打了个负号,但在转换过程中没有。一个人怎样才能避开这个问题呢?为什么不直接乘以
-1
?这是真的。德普时刻!我可以通过简单地将double放在System.out.println()的括号内的每个int旁边,将int从原始声明和初始化转换为double;。现在我的问题是满足一个条件,根据用户选择的选项,它将打印该十进制数的负输出和正输出。但每次我在括号里加上否定词,它就会输出错误的对话。然后当我加“-”时,它把所有的东西都变成了一个字符串。有什么想法吗?我编辑这篇文章是为了处理负小数部分。如果你想尝试做一些负数,我建议将它乘以-1。我做了另一次编辑,现在它应该可以完美地处理负数,但是如果两个整数都是负数,那么结果将是正数。将它乘以-1,我应该诚实地意识到。正如您可能已经猜到的,Java编程非常陌生。谢谢你的提示!尚未使用数学导入。但这是一个很好的建议!不仅仅是
Double.parseDouble(wholePart+“+”+decimalPart)更快