Vb6 Visual basic句柄十进制逗号

Vb6 Visual basic句柄十进制逗号,vb6,internationalization,decimal,Vb6,Internationalization,Decimal,我试图将变量保存到文本文件中,捷克的排版规则让我发疯。 我正在调试的程序专用于捷克本地化的计算机,其中使用了十进制逗号,但VB使用的是普通的标准十进制点 加载文件时,正确加载“US”小数并显示为捷克小数。文本框中需要“捷克”小数。我的问题是程序生成捷克小数,需要“US”小数 如何强制VB程序将逗号读取为十进制符号而不是分隔符,或者如何使用点而不是逗号导出数据 是的,我可以将123456加载为a=123和b=456,然后将值返回为a+b/1000,但是否有更优雅的解决方案?您的问题可能是由于使用了

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

加载文件时,正确加载“US”小数并显示为捷克小数。文本框中需要“捷克”小数。我的问题是程序生成捷克小数,需要“US”小数

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


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

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

选择正确的函数

  • Val
    Str
    将始终使用US设置(小数点)
  • CDbl
    格式将考虑区域设置
    

都在手册中。

谢谢你的建议,我不确定我是否做错了什么,但我只得到了错误(即类型不匹配)或“捷克”小数点

我试过了,被打了一巴掌?狠狠地打他一巴掌A使用此代码进行搜索:

Dim PpP As String, SaveFile As Integer

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

某物意味着在输出端而不是输入端尝试这些功能。(就像尝试将Double作为字符串参数)

此代码:

Input #1,TempString
Form1.TxtA10.Text = CDbl(TempString)
同样有效

试试看

格式$(CDbl(Text1.Text),“#,##0.00”)


在您可以提到的几乎任何编程语言中,小数都用点表示,而不是逗号。如果您的用户需要逗号,请将其转换为显示和输入目的,但您需要在代码中使用一个点。希望您不要尝试使用输入#,它只用于读取由Write编写的数据,Write总是使用“通用”格式(在本例中,句点为小数点)。Spudley:是的,我知道,但windows使用三种符号:点、逗号和小数分隔符。其中两个看起来一样。在我的例子中,输出分隔符是从操作系统-逗号使用的,输入分隔符是编程语言原生点。首先使用
Dim f As Single:f=CDbl(Form1.TxtA10.Text)
将捷克字符串转换为一个数字,然后通过
PpP=Str(f)