我正在尝试将变量保存到文本文件中,捷克的排版规则让我发疯。 我正在调整的程序专门用于捷克本地化计算机,其中使用了十进制逗号,但VB正在使用普通的标准小数点。
加载文件时,“US”小数被正确加载并显示为捷克小数。在TextBoxes中,“Czech”小数是必需的。我的问题是该程序生成捷克小数并需要“美国”小数。
如何强制VB程序将逗号读作十进制符号而不是分隔符,或者如何用点而不是逗号导出数据?
是的我可以将123,456
加载为a=123
和b=456
,然后将值返回为a + b/1000
,但是有更优雅的解决方案吗?
答案 0 :(得分:11)
答案 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")