台灣最大程式設計社群網站
線上人數
1455
 
會員總數:246738
討論主題:190152
歡迎您免費加入會員
討論區列表 >> Java Script/ Node.js >> innerHTML 輸入數字3位一逗號?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
innerHTML 輸入數字3位一逗號?
價值 : 5 QP  點閱數:2856 回應數:10
樓主

mypetertw
門外漢
0 97
925 145
發送站內信

請問一下
因為我在JS有計算數字
然後innerHTML 到網頁上顯示
但我想把該數字顯示出來的時候可以3位一逗號....

本篇文章發表於2015-05-02 21:30
1樓
作者回應

mypetertw
檢舉此回應
我的程式碼是這樣

本篇文章回覆於2015-05-02 21:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

迷路
捐贈 VP 給 迷路 檢舉此回應
去Google「js 數字格式」
可以找到很多寫好的函數來使用

如果只是要單純的解決整數3位加逗號問題
可以用toLocaleString()
範例
本篇文章回覆於2015-05-04 10:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

mypetertw
檢舉此回應
了解 但這樣要如何轉換成我要的呢 它的是需要按按鈕 我的是想直接INNERHTML出來後直接顯示
本篇文章回覆於2015-05-04 10:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
只要變數型態是數字,就能用.toLocaleString()轉換
我的範例只是隨手寫的測試
你要自己改成適合自己需求的程式
本篇文章回覆於2015-05-04 13:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應

給你這些應用吧。這是我以前用的。
本篇文章回覆於2015-05-05 14:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

mypetertw
檢舉此回應
抱歉 提一個無理要求...
能給個方向嗎? 這個我完全看不懂
本篇文章回覆於2015-05-05 16:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
.................(天啊~~~)
我給你的是一個功能模式。
你只要將參數丟進去就會幫你處理。



這樣子,就會彈跳出123,456,789這樣的字串出來。
為何會順便給你no_comma這個函數。因為有時會需要加總。有函千分號的值是不能相加的。所以才會需要再多一個來還原。
不知這樣是否清楚了??

如果不清楚,還請再加強你的基本能力吧。
本篇文章回覆於2015-05-12 13:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

mypetertw
檢舉此回應
哈哈 沒想到加個千芬位那麼難
本身沒有學到JAVASCRIPT...GG
本篇文章回覆於2015-05-12 13:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
不要拿沒學過當藉口。除非你不想碰。
只要你想要學想要研究,拿這當藉口是很要不得的行為。

如真不想自已做自已開發。那就是花錢請人做是最簡單的。
這條路是不歸路。學無止盡的。
永遠都學不完的。
本篇文章回覆於2015-05-13 10:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
最有價值解答

育成
捐贈 VP 給 育成 檢舉此回應

是有點難懂

正規表示式(regular expression )
參考

//使用到正規表示式來搜尋 格式為 /條件/修飾符號 符號"g"為查字串所有符合條件的
data = data.replace(/[,]/g, ''); // 條件"[,]"表示查找中括號內指定的字元

n += ""; //變字串
var arr = n.split("."); //以逗點"."作分隔傳回字串

//條件式 \d{1,3} 符合連續數字1到3碼
//條件式 ? 為往前搜尋必須指定搜尋結束條件
//條件式 ?=(\d{3})+$ 以3碼數字或6碼或...(以+號達成),以此類推作為搜尋結束 以1000為例 符合為000
//條件式 \d{1,3}?=(\d{3})+$ 以1000為例 符合為000 的前方搜尋\d{1,3}結果找到1
var re = /(\d{1,3})(?=(\d{3})+$)/g;

// arr[0].replace(re,"$1,") "$1"代表結果 ","是單純符號 所以 $1 = 1 , 所以arr[0].replace(re,"$1,")把1000的取代為1,變成1,000
// 最後判斷有無小數需要顯示 arr.length == 2 有才 加逗點"." 加小數 arr[1]
return arr[0].replace(re,"$1,") + (arr.length == 2 ? "."+arr[1] : ""); (re,"",")
本篇文章回覆於2015-05-13 14:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.