sách gpt4 ai đã đi

ios - 我可以直接在 Swift 中比较数字和字符串格式吗?

In lại 作者:行者123 更新时间:2023-11-29 01:48:12 26 4
mua khóa gpt4 Nike

我发现我可以直接在 Swift 中比较两个字符串格式的数字。

最初,我试图将我的 String 格式数字转换为 double 或 Int,然后进行比较。当我无意中发现我可以直接比较它们时,我在我的 Playground 上做了一些测试。看起来结果都是正确的,即使数字是空字符串或“(Double)”与“(Int)”。
(异常(exception)):String格式的负数的测试用例会比较失败。

有谁知道这是否是 Swift String 中的默认行为?我不确定我是否可以在我的程序中使用它。

ví dụ:

var numStrs1 = ["15", "12.2", "15", ""]
var numStrs2 = ["13", "12", "", "23.0"]

func compareNumStr(numStr1:String, numStr2:String) -> Bool {
return numStr1 > numStr2
}

for var i = 0; i < numStrs1.count; ++i{
compareNumStr(numStrs1[i], numStrs2[i])
}

1 Câu trả lời

字符串比较的默认实现依赖于Unicode排序算法nguồn:http://oleb.net/blog/2014/07/swift-strings/

您现在进行的比较不是规范的 Int/Double 比较,而是它如何转换为 unicode。根据您希望如何使用该信息,它可能并不适合所有情况。就像你发现负数一样,你应该使用 .toInt 方法来获取你想要的数字,并比较整数而不是比较字符串。

关于ios - 我可以直接在 Swift 中比较数字和字符串格式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31684260/

26 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com