【问题标题】:Calculate simple math equation [duplicate]计算简单的数学方程[重复]
【发布时间】:2018-08-20 16:53:01
【问题描述】:

我尝试使用 swift 代码计算 10 * 75% = 7.5

var b : Int = 10
var a : Int = 75
// result x is 0
var x = b * (a / 100) 

但是结果为零。如何在不改变ab的类型和值的情况下得到7.5的结果?

更新:

我猜对了:

 var x: Double = (Double(b) * (Double(a) / 100)) // x is 7.5

现在,我如何将它作为 Int 类型四舍五入到 8?

【问题讨论】:

  • 但我并没有声称 x 是整数类型。我希望 swift 聪明地将正确的类型分配给 x
  • Swift 确实为 x 分配了正确的类型,Int 除以 Int 就是 Int
  • Swift 足够聪明。你正在做Int 数学所以xInt
  • 顺便说一句-您将: Int 用于ab 是多余的。 var b = 10 将自动将 b 设为 Int 类型。
  • 我现在更新了我的问题。谢谢。

标签: swift


【解决方案1】:

您正在使用整数(即整数)算术,而您想要的是浮点算术。将其中一种类型更改为Float,Swift 会发现x 也是Float

var b : Int = 10
var a : Int = 75
var x = Float(b) * (Float(a) / 100.0) // now x is a Float (.75)

【讨论】:

    【解决方案2】:

    要在 Swift 中进行算术运算,等式两边必须使用相同的类型。尝试使用此代码:

    let b = 10.0
    let a = 75.0
    let x = b * (a / 100.0
    print(x)
    

    7.5

    为了使其四舍五入,请使用内置的 ceil 函数

    print(ceil(x))
    

    8.0

    【讨论】:

      【解决方案3】:

      好的,那么你只需要这样做:

      var b : Int = 10
      let c = (Double(b) * 0.75)
      let restult = ceil(c)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-30
        • 1970-01-01
        • 2012-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多