亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符串中的某個指定位置為數字,這個數字可以進行加減嗎

字符串中的某個指定位置為數字,這個數字可以進行加減嗎

qq_控心_0 2017-07-12 11:42:55
如题,就是把字符串中的某个数字进行加减后,得到的结果放回字符串中原位置上。不知道我形容的能不能理解。。。 eg:130.435188167 我要把.后面的第三位的数字减2 ,也就是我需要结果为130.433188167
查看完整描述

7 回答

已采納
?
如果不能解決你的問題丶我會慚愧

TA貢獻22條經驗 獲得超8個贊

//????參數介紹:
//????beSub:被減數,必須是字符串,因為要進行分割;
//????sub:減數;
//????n:小數位的第幾位
????function?dataHandle(beSub,?sub,?n){
????????var?result;
//????????取出整數部分
????????var?intPart?=?beSub.split('.')[0];
//????????取出小數部分
????????var?floPart?=?beSub.split('.')[1].split('');
//????????取出小數部分第n位
????????var?fNum?=?floPart[n-1];
//????????可以在這里對fNum進行判斷處理邏輯,例如:
????????if(fNum?>?0){
????????????floPart[n-1]=?fNum?-?sub;
????????????floPart?=?String(floPart.join(""));
????????????result?=?intPart+"."+?floPart;
????????????return?result;
????????}else?{
????????????return
????????}
????}

//調用示例
????console.log(dataHandle("104.0743233555",2,3));
????上班時間寫的,如有不懂,盡管問。
????加油!


查看完整回答
反對 回復 2017-07-14
  • qq_控心_0
    qq_控心_0
    抱歉,好久沒來了。請問下,取出小數部分前面的split('.')[1]的作用是? 還有fNum大于0,嚴格說是大于等于3吧?因為考慮到減去的數值3,比3小的話要向前借一位。 不過還是很感謝你的幫助
?
__innocence

TA貢獻313條經驗 獲得超208個贊

對于小數的計算,想要得到精確的值,最好分割一下。

console.log(11.3-10.1);
會出現不是你期望的值


查看完整回答
反對 回復 2017-07-12
  • qq_控心_0
    qq_控心_0
    我覺得提取出來進行運算再把之前的替換掉,這樣麻不麻煩? 有沒有更好的辦法?
  • __innocence
    __innocence
    如果你對正則表達式很了解,就很快了。有一個replace方法。
  • qq_控心_0
    qq_控心_0
    他是指定字符然后替換吧,我是要指定位置,就是.后面的第三位,可以實現嗎
點擊展開后面1
?
仙士可

TA貢獻170條經驗 獲得超132個贊

你直接130.435188167-0.002不行么,數學不好啊你

查看完整回答
反對 回復 2017-07-12
  • qq_控心_0
    qq_控心_0
    。。。對,一個直接可以,我之所以說字符串,是因為他是這樣組成的 104.615849646,30.1837581876667 104.73816466767,30.186761887667…… 這種類型的很長一段,你覺得我要一個一個的去減嗎。。。
  • __innocence
    __innocence
    你想當然地認為直接減? console.log(11.3-10.1); 算一個試試
  • 仙士可
    仙士可
    字符串切割成一小個一小個的split,可以先把小數之后的數字切割出來,然后通過split切割出來的數組,一一對應小數點之后的某個位置,例如 先切割小數點位置,區別整數和小數 var str = '121.0123456871'; var arr = str.split('.'); 得到一個數組 ["121", "0123456871"] 然后分割小數位 var num= arr[1].split('');//不傳參默認全部分割; 得到["0", "1", "2", "3", "4", "5", "6", "8", "7", "1"] 這樣子就會了吧
  • 7 回答
  • 0 關注
  • 3211 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號