java - 获取 Int 中的 Float 部分

标签 java android double

我正在开发一个应用程序,我必须在其中获取整数值的浮点部分。

例如,如果我的号码是 153.12324那么输出应该是 12324 .我尝试过这种方法,但有时会出错。

这有什么问题或者有更好的方法吗?

d 中有一个 double 值

    double d =any_double_value;
    String[] splitter = String.valueOf(d).split("\\.");
    splitter[0].length();   // Before Decimal Count
    int count = splitter[1].length();
    int integerpart = (int) calcResult;
    double floatpart = calcResult - integerpart;
    while (count!=0)
    {
        floatpart=floatpart*10;
        count--;
    }

    int floatpartinInt=(int)floatpart;

只有在某些情况下才会出现问题(它会少给出 1 个数字,例如如果答案是 124,则会给出 123),并且在答案为 long double 的情况下,例如 3.333333333 (10/3)

最佳答案

您也可以不拆分。通过使用以下方式,

double value = 3.25;
double fractionalPart = value % 1;
double integralPart = value - fractionalPart;

这可能对你有帮助

关于java - 获取 Int 中的 Float 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38239413/

相关文章:

java - 是否有 java 类文件/字节码编辑器来编辑指令?

android - 在模块中发现问题重复类 androidx.lifecycle.viewmodel

android - 如何在 recyclerview 中添加从左向右滑动

java - 如何使用 MockMvc 对象测试使用 Post 方法检索数据的 Controller ?

java - 界面内容

c - 双字段的 calloc() 是否总是计算为 0.0?

c++ - 将字符串解析为两个 double

c - c 中的 double 比较失败

java - 如果可以提高可读性,冗余代码是否可以接受?

java - Android 编辑位图 channel