gpt4 book ai didi

swift - 在 Swift 中将整数转换为罗马数字字符串

转载 作者:行者123 更新时间:2023-11-28 12:52:27 25 4
gpt4 key购买 nike

我希望在 Swift 中获取一个 Integer 并将其转换为罗马数字 String。有什么想法吗?

最佳答案

可以在 Int 上写一个扩展,类似于下面看到的。

请注意:对于小于一的数字,此代码将返回 ""。虽然就罗马数字而言这可能没问题(零不存在),但您可能希望在自己的实现中以不同方式处理此问题。

extension Int {
var romanNumeral: String {
var integerValue = self
var numeralString = ""
let mappingList: [(Int, String)] = [(1000, "M"), (900, "CM"), (500, "D"), (400, "CD"), (100, "C"), (90, "XC"), (50, "L"), (40, "XL"), (10, "X"), (9, "IX"), (5, "V"), (4, "IV"), (1, "I")]
for i in mappingList {
while (integerValue >= i.0) {
integerValue -= i.0
numeralString += i.1
}
}
return numeralString
}
}

也感谢 Kenneth Bruno 提出的一些改进代码的建议。

关于swift - 在 Swift 中将整数转换为罗马数字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36068104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com