问题不仅仅是问题吗?

Jay*_*den -2 vb.net if-statement operators visual-studio

我正在尝试使用小数

If "3.04" < "12.4" Then
    finalPrice = "perfect"
Else
    finalPrice = "too big"

End If
Run Code Online (Sandbox Code Playgroud)

所以3.04不大于12.4对吗?当我运行它时,它认为3.04大于12.4.它为什么这样做?它应该返回perfect而不是返回too big它正在做的事情.

这是十进制问题吗?

Jef*_*ins 6

你不能以这种方式比较字符串(这就是它被包含在引号中).由于这是一个字符串比较,按字典顺序,"3"(最左边的字符)高于"1".尝试将数字解析为浮点数,然后您的比较将起作用.

另外,请记住,安全地解析!如果解析失败,请准备好围绕它进行一些防御性编码.如果有的话,尽可能避免以字符串形式输入这个浮点数.