【问题标题】:Why is my float automatically rounding and how do i get it to stop [duplicate]为什么我的浮点数会自动舍入,我如何让它停止[重复]
【发布时间】:2013-05-17 01:33:24
【问题描述】:

为什么我的浮动会自动四舍五入,我如何让它停止

  float pageCount = 10/6;

应该是 1.666 但它给出了 1.0

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:

    您的计算是以整数类型进行的,因为两个操作数都是int 类型

    将至少一个操作数转换或标记为浮点数。

    float pageCount = 10/6f; //6f specifying 6 as float
    

    float pageCount = ((float) 10)/6;
    

    在您当前的形式中,两个操作数都是整数类型,它们的除法结果是整数值,这就是您得到 1 而不是 1.666 的原因

    【讨论】:

      【解决方案2】:

      简单到下面10.0/6

      【讨论】:

      • 这会导致错误Cannot implicitly convert type 'double' to 'float'. An explicit conversion exists (are you missing a cast?)
      • 使用 0.0 会导致双倍。你真的需要使用 f 来声明一个浮点数。
      猜你喜欢
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      • 2016-06-04
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多