婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > VBS 兩數相加取值問題分析

VBS 兩數相加取值問題分析

熱門標簽:加盟電銷機器人好的品牌 百度地圖標注怎么卸載 陜西高頻外呼回撥系統哪家好 外呼營銷下單系統 辦理膠州400電話財稅 新密防封卡外呼系統違法嗎 海外美發店地圖標注 前鋒辦理400電話申請 打電話的外呼系統貴不貴
一個昵稱為預言家晚報的朋友很喜歡玩SOSO問問,等級LV10,已經算比較高了。晚上掛QQ的時候,看到他的問問有更新,就點進去看了一下,問題是:
我寫了如下一段VBS
復制代碼 代碼如下:

dim a,b,c
a=inputbox("a","please input")
b=inputbox("b","please input")
c=a+b
msgbox(c)

可是最后結果是11,我知道肯定是倒數第二行的“+”沒有作為運算符,請問這段代碼該咋么寫才正確?
你肯定會不屑一顧,切,那么簡單的程序,誰不會?那請你先別往下看,獨立寫出這個程序,看看到底對不對。注意我的標題是兩數相加,而不是兩整數相加。

滿意答案有兩個,一個是我朋友給的:
復制代碼 代碼如下:

dim a,b,c
a=inputbox("a","please input")
b=inputbox("b","please input")
c=CInt(a)+CInt(b)
msgbox(c)

另一個是昵稱為“亂碼”的人給出的:
復制代碼 代碼如下:

dim a,b,c
a=int(inputbox("a","please input"))
b=int(inputbox("b","please input"))
c=a+b
msgbox c

很顯然,一個用了CInt函數,一個用了Int函數。

CInt Function
復制代碼 代碼如下:

When the fractional part of a value is exactly 0.5, the CInt function rounds to the closest even number. For example, 0.5 rounds to 0, 1.5 rounds to 2, and 3.5 rounds to 4.
CInt differs from the Fix and Int functions, which truncate, rather than round, the fractional part of a number.

CInt不同于Fix和Int函數刪除數值的小數部分,而是采用四舍五入的方式。當小數部分正好等于0.5時,CInt總是將其四舍五入成最接近該數的偶數。例如,0.5四舍五入為0,以及1.5四舍五入為2,3.5四舍五入為4。

Int, Fix Functions
復制代碼 代碼如下:

Both Int and Fix remove the fractional part of number and return the resulting integer value.

The difference between Int and Fix is that if number is negative, Int returns the first negative integer less than or equal to number, whereas Fix returns the first negative integer greater than or equal to number. For example, Int converts -8.4 to -9, and Fix converts -8.4 to -8.

Int和Fix函數都刪除number參數的小數部分并返回以整數表示的結果。Int和Fix函數的區別在于如果number參數為負數時,Int函數返回小于或等于number的第一個負整數,而Fix 函數返回大于或等于number參數的第一個負整數。例如,Int 將-8.4轉換為-9,而Fix函數將-8.4轉換為-8。

一個是四舍五入,一個是刪除小數部分,哪個更高明?

其實兩個都不怎么高明。雖然輸入提問者給出的整數(兩個1),兩者都能輸出正確的答案;但是如果輸入的是小數,這兩個程序顯然都不會輸出正確的答案。

下面給出一個我自認為比較“高明”的答案:
復制代碼 代碼如下:

Dim a,b,c
a = InputBox("a","please input")
b = InputBox("b","please input")
c = 0 + a + b
MsgBox c

沒錯,只是多加了一個0。VBS中+號和號的區別我相信你已經知道,但是我還是簡單的復制一下文檔:

雖然也可以使用+運算符連接兩個字符串,但是您仍應使用運算符進行字符串的連接以避免混淆,提供易理解的代碼。

這是因為在使用+運算符時,有可能無法確定是做加法還是做字符串連接。

表達式的基本子類型決定了+運算符所做的操作,如下表所示:

如果
兩個表達式都是數值 相加
兩個表達式都是字符串 連接
一個表達式是數值,另一個表達式是字符串 相加

InputBox函數的返回值是字符串子類型,如果直接用+號的話效果和號是一樣的,即連接字符串。但是如果在前面加個0,效果就不一樣了,即上表中的第三種情況,變成加號應有的效果了。

當然,為了程序嚴謹,還應該使用IsNumeric函數判斷輸入的是否是數字,簡單起見,我在這里就省略了。
原文:http://demon.tw/programming/vbs-add-two-number.html

標簽:咸陽 伊春 梅州 武威 四平 河南 牡丹江 阜陽

巨人網絡通訊聲明:本文標題《VBS 兩數相加取值問題分析》,本文關鍵詞  VBS,兩數,相加,取值,問題,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《VBS 兩數相加取值問題分析》相關的同類信息!
  • 本頁收集關于VBS 兩數相加取值問題分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 柏乡县| 香港 | 工布江达县| 庄浪县| 秦安县| 邵武市| 昌宁县| 长寿区| 平顶山市| 海丰县| 阳春市| 扬州市| 石屏县| 宁化县| 富宁县| 双城市| 丹江口市| 堆龙德庆县| 博罗县| 怀集县| 马龙县| 宝清县| 佛坪县| 巴中市| 通城县| 安远县| 玉山县| 扬中市| 德昌县| 博爱县| 新余市| 固安县| 长岛县| 蚌埠市| 宣汉县| 香格里拉县| 昌吉市| 永泰县| 响水县| 博客| 中方县|