Java 仅提取十进制值以将.Miles转换为码
我最近接触了Java,我想问一下如何提取十进制部分,以便用于进一步的计算 我的代码基本上将公里转换为英里,用户输入公里数(因此该值不是固定的) 例如,用户输入6公里,将其转换为3.728英里。我想提取.728,以便将十进制英里数转换为码(例如3英里和大约1281码) 我用Java 仅提取十进制值以将.Miles转换为码,java,decimal,extract,Java,Decimal,Extract,我最近接触了Java,我想问一下如何提取十进制部分,以便用于进一步的计算 我的代码基本上将公里转换为英里,用户输入公里数(因此该值不是固定的) 例如,用户输入6公里,将其转换为3.728英里。我想提取.728,以便将十进制英里数转换为码(例如3英里和大约1281码) 我用贬低了这一点 int-wholeMileConversion=(int)conversionOutput; 这给了我3分 但我不知道如何提取小数,以便: wholeYardConversion=十进制值*码 如果很难理解,很抱歉
贬低了这一点 int-wholeMileConversion=(int)conversionOutput; 这给了我3分 但我不知道如何提取小数,以便: wholeYardConversion=十进制值*码 如果很难理解,很抱歉,如果可以的话,我会尝试再次解释。试试这个:
double v = 3.287;
double decimalPart = v % 1;
%
是余数运算符。所以10%3==1
。但它也适用于双精度。因此
2.5%1
的剩余部分将是.5
,但请记住,由于64位的宽度有限,双精度值不会完全是看起来的值,而且大多数十进制值都有重复的分量。也就是说,它们没有有限的十进制展开。这是否回答了您的问题?我想你可以把公里换成码,然后把码换成英里和码。谢谢,根据你所说的。我做了类似的事情,得到了我想要的!我基本上使用了您在用户输入方面所说的内容,并对DecimalValue=conversionOutput%1;|双计算域=抽取小数*码;|int全域=(int)计算域;