Android 将Double转换为Int

Android 将Double转换为Int,android,Android,我有一个计算器应用程序 我如何实现以下目标 如果小数点后有非零数字,则应保持为双精度 如果小数后没有非零数字,则应将其转换为等效于double的整数 例如,10.0003应显示为10.0003。其中as 10.0应显示为10 目前,我将所有结果显示为Double(10.0)。如何检查小数点后是否有非零数字?我们有一个简单的解决方案吗?浮点数在机器中无法准确地表示数字。它们不是固定点。所以10.0实际上可能是9.9999988451或类似的东西。或者,10.0003实际上可能是10.00002

我有一个计算器应用程序

我如何实现以下目标

  • 如果小数点后有非零数字,则应保持为双精度

  • 如果小数后没有非零数字,则应将其转换为等效于double的整数

    例如,10.0003应显示为10.0003。其中as 10.0应显示为10


  • 目前,我将所有结果显示为Double(10.0)。如何检查小数点后是否有非零数字?我们有一个简单的解决方案吗?

    浮点数
    在机器中无法准确地表示数字。它们不是固定点。所以
    10.0
    实际上可能是
    9.9999988451
    或类似的东西。或者,10.0003实际上可能是
    10.000028993
    ——因此编写满足这一点的逻辑非常困难


    请阅读

    谢谢。。。我想这对我有用。将在最短期限后接受您的答复。
    x is a double  
    y = round(x)  
    if (x - y == 0) 
    {
       // x has no non-zero decimal
    }
    else
    {
       // x has non-zero decimal
    }