fybhwsx 发表于 2019-9-15 13:20:18

关于数组数值的大小比对错误,求解。。【已解决】

本帖最后由 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))

繁星 发表于 2019-9-15 13:47:51

Number~~~~

fybhwsx 发表于 2019-9-15 14:28:48

繁星 发表于 2019-9-15 13:47
Number~~~~

原来如此,感谢!

shqf 发表于 2019-9-15 14:28:57

数组中都是字符串,比较时转化成数值就可以了, Number($aSRE)>number ($aSRE)

fybhwsx 发表于 2019-9-15 14:30:42

shqf 发表于 2019-9-15 14:28
数组中都是字符串,比较时转化成数值就可以了, Number($aSRE)>number ($aSRE)

嗯嗯,谢谢。

zch11230 发表于 2019-9-15 18:45:38

这就是弱类型容易踩的坑

绿色风 发表于 2019-9-16 12:32:06

直接   + 0:face (24):
页: [1]
查看完整版本: 关于数组数值的大小比对错误,求解。。【已解决】