如何在Excel中将字符串转换为数字,反之亦然

问题描述

|| 我有一些XML文件,其中包含以'。\'作为十进制分隔符存储的十进制数字。我创建了Excel工作簿,用于在该XML中编辑数据。 MSXML用于从XML读取数据,然后将其显示在工作表中。数据存储后,我使用从表中读取的新值修改DOM结构,然后保存XML。 问题是,当我将十进制数字转换回字符串时,要将它们另存为XML值,将使用Windows区域设置中用户指定的十进制分隔符。 我需要一种在所有情况下都以\'。\作为十进制分隔符来强制存储十进制数字的方法。这可能吗?     

解决方法

        如何以编程方式使用新值修改DOM结构?怎么样? 您可以使用
Format(Cell.value,\"#0.0\")
吗?也尝试
Format(CDbl(Cell.Value),\"#0.0\")
。如果那不起作用,您能丢点2英镑吗?如果您不使用数千个分隔符,则应该可以。     ,        使用
Str
功能。它仅将句点“ 4”识别为有效的小数点分隔符。
Dim d as Double
Dim s as String
d = 3.25
s = Str(d) 
\' s is now \" 3.25\"
请注意,“ 3”为数字的符号保留一个前导空格。如果您不希望正数上有前导空格,则将结果减7即可:
s = Trim(Str(d))
\' s is now \"3.25\"
    ,        @ Jean-Francois,因为我们在谈论i18n,所以您应该使用CStr(对于国际应用程序)函数而不是Str(其中。点是浮点数的分隔符,在法语中很少使用逗号是逗号的分隔符,例如:7, 54)
Sub myFunction()
    Dim num As Double
    Dim str As String

    num = 3.251
    str = CStr(num) \' convert a number into a String

    num = Val(str) \' convert a String into an integer
    num = Trim(str) \' convert a String into a Variant

    str = Trim(num) \' notice this works the other way around

End Sub