tcpuuu 发表于 2010-10-3 22:11:08

結果用%表示 如何 只顯示小數點底下2位數(底下4捨5入)

WinKill("COM")

GUICreate("COM", 138, 100, 880, 2)
$L1 = GUICtrlCreateInput("", 1, 10, 50, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L2 = GUICtrlCreateInput(" ", 54, 10, 40, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L3 = GUICtrlCreateInput("", 72, 46, 50, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$1Button = GUICtrlCreateButton("命中率%", 1, 42, 70, 30)
GUISetState()

While 1
      $msg = GUIGetMsg()
      Switch $msg
                Case -3
                        Exit
                Case $1Button
                        $v1 = Number(GUICtrlRead($L1))
                        $v2 = Number(GUICtrlRead($L2))
                        GUICtrlSetData($L3, $v1 / ($v1+$v2) * 100 & ' %')
      EndSwitch
WEnd-----------------------------------------------------------------------------------------------
edit1 / (edit1+edit2)=   %   結果用%表示
如何 只顯示小數點底下2位數(底下4捨5入)

例如:   13.335333333333333333333%
寫成13.34%

Duvet 发表于 2010-10-3 22:28:29

GUICtrlSetData($L3, StringFormat('%.2f%%', 13.335333333333333333333));$v1 / ($v1+$v2) * 100 & ' %')

tcpuuu 发表于 2010-10-3 23:30:01


Duvet 发表于 2010-10-3 22:28 http://www.autoitx.com/images/common/back.gif
-----------------------------------------------------
這樣不對ㄚ
怎麼 除   都是 13.34?
10 / 2=13.34
20/2 也是13.34

lixiaolong 发表于 2010-10-4 03:42:33

回复 3# tcpuuu

Round 函数
--------------------------------------------------------------------------------
返回某数值精确到指定位的结果.
Round ( 表达式 [, 位数] )

参数
表达式 任何有效的数值表达式.
位数 [可选参数] 指定要精确到小数点后的第几位.如果省略则对表达式取整(四舍五入,保留整数部分).

返回值
返回精确后的数.

注意/说明
参数 位数可以是负数,这样您就可以指定数值精确到个位,十位 或 百位等.注意系统支持的是15位的有效数字,另外要注意的是此函数在完成四舍五入后不会补零(见示例).

WinKill("COM")

GUICreate("COM", 138, 100, 880, 2)
$L1 = GUICtrlCreateInput("", 1, 10, 50, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L2 = GUICtrlCreateInput(" ", 54, 10, 40, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$L3 = GUICtrlCreateInput("", 72, 46, 50, 22, 0x008000)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 12)
$1Button = GUICtrlCreateButton("命中率%", 1, 42, 70, 30)
GUISetState()

While 1
      $msg = GUIGetMsg()
      Switch $msg
                Case -3
                        Exit
                Case $1Button
                        $v1 = Number(GUICtrlRead($L1))
                        $v2 = Number(GUICtrlRead($L2))
                        GUICtrlSetData($L3, Round($v1 / ($v1+$v2) * 100 & ' %', 2))
      EndSwitch
WEnd

tcpuuu 发表于 2010-10-4 05:08:43

GUICtrlSetData($L3,Round($v1 / ($v1+$v2) * 100 , 2 & '%'))
這一段如何把 % 也寫進去
例如: 13.33%

lixiaolong 发表于 2010-10-4 23:52:52

回复 5# tcpuuu

你要显示的数据是Round($v1 / ($v1+$v2) * 100 , 2)吧
那么因该这么写,Round($v1 / ($v1+$v2) * 100 , 2) 和 '%'

GUICtrlSetData($L3, Round($v1 / ($v1+$v2) * 100 , 2) & '%')
页: [1]
查看完整版本: 結果用%表示 如何 只顯示小數點底下2位數(底下4捨5入)