【问题标题】:Can I convert a fraction to a string using Double.toString(3 + 1/3)?我可以使用 Double.toString(3 + 1/3) 将分数转换为字符串吗?
【发布时间】:2014-06-05 03:41:51
【问题描述】:

我有一些设置一些静态数据库值的代码。我要设置的值之一是 3 和三分之一。下面是我尝试做的一个简短版本。

 String str = Double.toString(3+1/3);
ContentValues values = new ContentValues();
values.put(KEY_MY_VALUE, str);

db.insert(TABLE_MYTABLE, null, values);

但它在表格中仅显示为“3”,而我原本预期的是“3.3333333....”

【问题讨论】:

    标签: android sqlite formatting double fractions


    【解决方案1】:

    要在不截断的情况下进行除法,您必须至少使用一些浮点数:

    str = Double.toString(3 + 1.0 / 3);
    

    但是,如果您想要特定格式的字符串,您可以首先使用该格式:

    values.put(KEY_MY_VALUE, "3.3333333333333333");
    

    如果该值以后用作数字而不是字符串,则应将其作为数字存储在数据库中:

    values.put(KEY_MY_VALUE, 3 + 1.0 / 3);
    

    【讨论】:

    • 啊我忘了。呃。谢谢!
    【解决方案2】:

    检查你的字符串 - 1/3 返回 0。因为 java 将它转换为 int

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 2021-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      相关资源
      最近更新 更多