如何将磅转换为磅小数?
例如,如果用户输入 1.8磅,我希望能够将其转换为 1.5磅,以便我可以进行一些计算。
以下代码有两个问题。
1-仅当用户输入少于10(例如1.9)盎司时,它才起作用,因为我将盎司乘以10。
2-它只返回十进制盎司,它不返回整数(磅)。
func poundsToDecimals(pounds:Double)->Double{
let ounces = Double(pounds % 1)
let decimals = ounces / 16 * 10
return decimals
}
print(poundsToDecimals(1.4)) //prints... 0.25
答案 0 :(得分:2)
要解决您的第一个问题,请尝试将其转换为字符串,然后将其拆分为:
func poundsToDecimals(pounds: Double) -> Double {
let numberAsString = String(pounds)
var numbers = numberAsString.components(separatedBy: ["."])
let seperatedPounds = Double(numbers[0])!
let ounces = Double(numbers[1])!
let decimals = ounces / 16 * 10
return decimals
}
请你进一步说明你的第二个问题。如果你想返回多于一个值,你可以这样做。
func poundsToDecimals(pounds: Double) -> (Double, Double) {
let numberAsString = String(pounds)
var numbers = numberAsString.components(separatedBy: ["."])
let seperatedPounds = Double(numbers[0])!
let ounces = Double(numbers[1])!
let decimals = ounces / 16 * 10
return (decimals, seperatedPounds)
}
希望有所帮助