printf仅在java中打印小数部分

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

我想分别打印双数的实数部分和小数部分,而不使用字符串或数组概念?我不知道如何使用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函数考虑数字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