我正在使用VBA的基本编码来创建一个模板,从Windows中的其他屏幕中提取数据.当它拉出数字时,它们被格式化为字符串.我现在需要将字符串转换为双精度数,以便加/减它们.我一直在尝试一切,但似乎无法弄明白.
Me.salesprice = Trim(scrn.GetString(11, 65, 10))
'This would be formatted as 25,000.00
Me.salestax = Trim(scrn.GetString(12, 66, 10))
Me.pastdue = Trim(scrn.GetString(14, 65, 10))
Me.assessedppt = Trim(scrn.GetString(18, 66, 10))
Me.secdep = Trim(scrn.GetString(17, 65, 10))
assessedppt = Convert.ToDouble(Me.assessedppt)
uappt = Convert.ToDouble(Me.uappt)
salesprice = Convert.ToDouble(Me.salesprice)
salestax = Convert.ToDouble(Me.salestax)
pastdue = Convert.ToDouble(Me.pastdue)
lc = Convert.ToDouble(frmDetails.lc)
totalfinance = salesprice + salestax + pastdue - secdep + assessedppt + uappt + lc
totalsalesprice = salesprice + pastdue
ppt = assessedppt + uappt
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到以下错误:
编译错误:未定义变量,它突出显示第一个Convert函数.
我正在寻找一种将 double 转换为字符串的解决方案,但该字符串的小数位前应该有一个逗号,而不是一个点。
“一个半”应该看起来像 1,5(德语符号)。
谢谢你的帮助!!
我需要从文本字符串中提取数字,但我不太确定该怎么做。我在下面附加的代码是非常初步的,很可能可以更优雅地完成。我尝试解析的字符串示例如下:
“ ID CSys ID集ID集值集标题7026..Plate顶部MajorPrn应力7027..Plate顶部MinorPrn应力7033..Plate顶部VonMises应力”
我需要提取数字7026、7027和7033。字符串的长度将有所不同,我需要提取的值的数量也将有所不同。任何帮助将非常感激。谢谢!
Dim WrdArray() As String
Dim txtstrm As TextStream
Dim line As String
Dim clm As Long
Dim Rw As Long
Run Code Online (Sandbox Code Playgroud)
'------------------------------------------------- -----------
Dim i As Long
Dim strPath As String
Dim strLine As String
Dim count, count1 As Integer
Dim holder As String
Dim smallSample As String
count = 0
count1 = 1
holder = ""
'Remove Filters and Add Custom Filters
Call Application.FileDialog(msoFileDialogOpen).Filters.Clear
Call Application.FileDialog(msoFileDialogOpen).Filters.Add("Text Files", "*.txt")
Call Application.FileDialog(msoFileDialogOpen).Filters.Add("Dat Files", "*.dat")
'only allow …Run Code Online (Sandbox Code Playgroud)