printf仅在java中打印小数部分
我想分别打印双数的实数部分和小数部分,而不使用字符串或数组概念?我不知道如何使用printf()只打印小数部分printf仅在java中打印小数部分,java,decimal,printf,Java,Decimal,Printf,我想分别打印双数的实数部分和小数部分,而不使用字符串或数组概念?我不知道如何使用printf()只打印小数部分 System.out.println((long)input); //Prints real part System.out.println(input - (long)input); //Prints decimal part 输入1:13.31432 产出1:13 31432 投入2:15.36 产出2:15 三十六 我可以打印实部,但不能打印小数部分。而printf()是一个c
System.out.println((long)input); //Prints real part
System.out.println(input - (long)input); //Prints decimal part
输入1:13.31432
产出1:13
31432
投入2:15.36
产出2:15
三十六
我可以打印实部,但不能打印小数部分。而printf()是一个c函数考虑数字15.26第一行将打印15,但第二行仍然打印0.26,而不是26double x=13.31432d;System.out.println((int)d);系统输出println(d-(int)d);它给出的输出为:13 0.31432000000000004,但我需要输出为:1331432@PremKumarNaidu您可以使用子字符串删除
0.
。例如,System.out.println(String.valueOf(d-(int)d).substring(2))代码>。在一般情况下,我认为没有一个好方法可以删除0000000000 4,因为计算机不能准确地存储浮点数。但如果您知道它总是五位数,您可以这样做:System.out.println(String.format(“%.05f”,d-(int)d).substring(2))
准确地获取31432
@Boann:我不想使用字符串或数组概念。是否可以在不转换为字符串的情况下获取小数部分?如果不在某个地方使用String
,则无法获得预期的输出。如果我得到线索,我会努力更新我的帖子。
System.out.println((long)input); //Prints real part
System.out.println(input - (long)input); //Prints decimal part