Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅提取十进制值以将.Miles转换为码_Java_Decimal_Extract - Fatal编程技术网

Java 仅提取十进制值以将.Miles转换为码

Java 仅提取十进制值以将.Miles转换为码,java,decimal,extract,Java,Decimal,Extract,我最近接触了Java,我想问一下如何提取十进制部分,以便用于进一步的计算 我的代码基本上将公里转换为英里,用户输入公里数(因此该值不是固定的) 例如,用户输入6公里,将其转换为3.728英里。我想提取.728,以便将十进制英里数转换为码(例如3英里和大约1281码) 我用贬低了这一点 int-wholeMileConversion=(int)conversionOutput; 这给了我3分 但我不知道如何提取小数,以便: wholeYardConversion=十进制值*码 如果很难理解,很抱歉

我最近接触了Java,我想问一下如何提取十进制部分,以便用于进一步的计算

我的代码基本上将公里转换为英里,用户输入公里数(因此该值不是固定的)

例如,用户输入6公里,将其转换为3.728英里。我想提取.728,以便将十进制英里数转换为码(例如3英里和大约1281码)

我用
贬低了这一点 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)计算域;