关于数组数值的大小比对错误,求解。。【已解决】
本帖最后由 fybhwsx 于 2019-9-15 14:31 编辑下面是代码和注释的问题。。#include <Array.au3>
Local $sSource = _
'【财务分析】——海峡环保(603817)' & @CRLF & _
'【财务指标】【财报摘要】【单季度利润表】【同比异动】【环比异动】【环比分析】' & @CRLF & _
'更新日期:2019年09月15日贝格数据' & @CRLF & _
'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━' & @CRLF & _
'【财务指标】- 主要财务指标' & @LF & _
'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━' & @LF & _
'┌───────────┬─────┬─────┬─────┬─────┐' & @LF & _
'│财务指标 │2019-06-30│2018-12-31│2017-12-31│2016-12-31│' & @LF & _
'├───────────┼─────┼─────┼─────┼─────┤' & @LF & _
'│审计意见 │未经审计│标准无保留│标准无保留│标准无保留│' & @LF & _
'│ │ │ 意见│ 意见│ 意见│' & @LF & _
'├───────────┴─────┴─────┴─────┴─────┤' & @LF & _
'|【每股指标】 |' & @LF & _
'├───────────┬─────┬─────┬─────┬─────┤' & @LF & _
'|基本每股收益(元) | 0.1403| 0.2592| 0.2305| 0.2900|' & @LF & _
'|基本每股收益扣除(元)| 0.1357| 0.2184| 0.2222| 0.2800|' & @LF & _
'|摊薄每股收益(元) | 0.1403| 0.2592| 0.2209| 0.2859|' & @LF & _
'|稀释每股收益(元) | 0.1389| 0.2592| 0.2305| 0.2900|' & @LF & _
'|每股净资产(元) | 3.4692| 3.3809| 3.1447| 2.7480|' & @LF & _
'|每股资本公积金(元) | 1.3900| 1.3900| 1.3900| 0.9430|' & @LF & _
'|每股盈余公积金(元) | 0.0990| 0.0990| 0.0612| 0.0574|' & @LF & _
'|每股未分配利润(元) | 0.9802| 0.8919| 0.6935| 0.7476|' & @LF & _
'|每股经营现金流净额(元)| 0.4810| 0.3142| 0.5096| 0.7064|' & @LF & _
'|每股现金流净额(元) | 0.6053| 0.0791| 0.0495| 0.0203|' & @LF & _
'├───────────┴─────┴─────┴─────┴─────┤' & @LF & _
'|【盈利能力指标】 |' & @LF & _
'├───────────┬─────┬─────┬─────┬─────┤' & @LF & _
'|加权净资产收益率% | 4.0000| 7.9400| 7.5800| 10.9800|' & @LF & _
'|加权净资产收益率扣除% | 3.8700| 6.6900| 7.3100| 10.7500|' & @LF & _
'|摊薄净资产收益率% | 3.9056| 7.6663| 7.0241| 10.4043|' & @LF & _
'|摊薄净资产收益率扣除% | 3.7783| 6.4585| 6.7723| 10.1952|' & @LF & _
'|总资产收益率% | 1.7631| 4.5276| 5.2850| 5.6218|' & @LF & _
'|销售毛利率% | 45.9529| 43.5587| 44.2429| 47.5550|' & @LF & _
'|销售净利率% | 20.1894| 24.5316| 28.5007| 29.2144|' & @LF & _
'|营业利润率% | 24.8187| 31.7207| 32.2519| 23.2684|' & @LF & _
'|成本费用利润率% | 33.9364| 39.8160| 43.6963| 44.6092|' & @LF & _
'├───────────┴─────┴─────┴─────┴─────┤'
Local $aSRE = StringRegExp($sSource, '加权净资产收益率%.+ \h*(.+)|\h*(.+)|\h*(.+)|', 3)
If Not @Error Then
;MsgBox(0, '匹配数量: ' & UBound($aSRE), '其中元素为: ' & $aSRE)
MsgBox(0, $aSRE & '>' & $aSRE, $aSRE>$aSRE)
MsgBox(0, $aSRE & '>' & $aSRE, $aSRE>$aSRE);这里返回居然是True?求解!我本意是要选取净资产收益率持续增长(7.9400>7.5800>10.9800)的股票,无奈结果老是不对?直接数值比较 MsgBox(0, '', 7.5800>10.9800) 返回False却是对的?!
EndIf
;_ArrayDisplay($aSRE, UBound($aSRE))
Number~~~~ 繁星 发表于 2019-9-15 13:47
Number~~~~
原来如此,感谢! 数组中都是字符串,比较时转化成数值就可以了, Number($aSRE)>number ($aSRE) shqf 发表于 2019-9-15 14:28
数组中都是字符串,比较时转化成数值就可以了, Number($aSRE)>number ($aSRE)
嗯嗯,谢谢。 这就是弱类型容易踩的坑 直接 + 0:face (24):
页:
[1]