Visual Basic句柄十进制逗号

时间:2011-06-02 13:35:15

标签: vb6 internationalization decimal

我正在尝试将变量保存到文本文件中,捷克的排版规则让我发疯。 我正在调整的程序专门用于捷克本地化计算机,其中使用了十进制逗号,但VB正在使用普通的标准小数点。

加载文件时,“US”小数被正确加载并显示为捷克小数。在TextBoxes中,“Czech”小数是必需的。我的问题是该程序生成捷克小数并需要“美国”小数。

如何强制VB程序将逗号读作十进制符号而不是分隔符,或者如何用点而不是逗号导出数据?

是的我可以将123,456加载为a=123b=456,然后将值返回为a + b/1000,但是有更优雅的解决方案吗?

4 个答案:

答案 0 :(得分:11)

选择正确的功能。

  • ValStr将始终使用美国设置(点为十进制)
  • CDblFormat会考虑区域设置。

全部在手册section on international programming中。

答案 1 :(得分:7)

您的麻烦可能是由于使用了Val功能;这不是国际性的。帮助文本建议在从字符串转换为数字时使用CDbl

答案 2 :(得分:0)

感谢您的建议,我不确定我是否 错误,但我只获得了错误(即类型不匹配)或“捷克”小数逗号。

我试过'被打了?更加努力!“ aproach使用此代码:

Dim PpP As String, SaveFile As Integer

PpP = Form1.TxtA10.Text & " " & Form1.TxtA11.Text
PpP = Replace(PpP, ",", ".")
Print #SaveFile, PpP

编辑:

某事意味着在输出处尝试这些功能,而不是在输入处。 (比如尝试Double as String参数)。

此代码:

Input #1,TempString
Form1.TxtA10.Text = CDbl(TempString)

也起作用。

答案 3 :(得分:0)

尝试,

  

格式化$(CDbl(Text1.Text),"#,## 0.00")