2016-10-02 14 views
5

मैं वर्तमान में निम्न कोड के साथ काम कर रहा हूं। कंसोल में यहindexOf एक फ़ंक्शन नहीं है

Uncaught TypeError: TotalAccountBalance.indexOf is not a function

मुझे नहीं पता कि और क्या करना है। खोज में बहुत मदद नहीं मिली।

var CurrentPreservedBalance, CurrentGeneralAccountBalance, TotalAccountBalance; 
    CurrentPreservedBalance = '20.56'; 
    CurrentGeneralAccountBalance = '20.56'; 
    if(CurrentPreservedBalance && CurrentGeneralAccountBalance){ 
     TotalAccountBalance = +CurrentPreservedBalance + +CurrentGeneralAccountBalance; 
     console.log(TotalAccountBalance.indexOf('.')); 
    } else { 
     $('#total-fnpf-account-balance').val('$0.00'); 
     $('#total-account-balance').val('$0.00'); 
    } 
+1

उन प्लस' + CurrentPreservedBalance + + CurrentGeneralAccountBalance में से एक से छुटकारा:

आप तो एक स्ट्रिंग समारोह उपयोग करना चाहते हैं (उदाहरण के लिए indexOf), तो आपको एक स्ट्रिंग के लिए वापस बदलने की आवश्यकता मध्य। फिर 'TotalAccountBalance.' काम करना चाहिए। और वह प्लस सामने भी है। साथ ही, '20 .56 ' – zer00ne

+0

बीटीडब्लू से उद्धरण हटाएं, आपको दशमलव के लिए दशमलव की आवश्यकता क्यों होगी? – zer00ne

+0

@ zer00ne मेरे क्लाइंट के पास यह बेवकूफ आवश्यकता है जिसे मैं समझ नहीं पा रहा हूं कि क्या हो रहा है। –

उत्तर

7

indexOf() तारों की एक विधि है, न कि संख्याओं।

console.log(TotalAccountBalance.toString().indexOf('.')); 
+0

लघु, सरल और मीठा। धन्यवाद यह काम करता है। –

+0

यदि कुल 'कुल खाता' के लिए कुछ 'शून्य' परिदृश्य भी है, तो इसे त्रुटि से बचने के लिए इस तरह परिवर्तित किया जा सकता है: 'console.log (स्ट्रिंग (TotalAccountBalance) .indexOf ('।'));' –

2
TotalAccountBalance = +CurrentPreservedBalance + +CurrentGeneralAccountBalance; 

TotalAccountBalance दो नंबर लेने का परिणाम (हम जानते हैं कि वे नंबर दिए गए हैं क्योंकि आप उन्हें बदलने के लिए एकल प्लस ऑपरेटर इस्तेमाल किया) और उन्हें एक साथ जोड़ने है। यह एक और संख्या है।

indexOf एक विधि है कि आप तार नहीं संख्या पर लगता है।

आप एक स्ट्रिंग के लिए परिवर्तित कर सकते हैं:

(TotalAccountBalance + "").indexOf('.') 
1
TotalAccountBalance = +CurrentPreservedBalance + +CurrentGeneralAccountBalance; 

unary plus operators संख्या में तार कन्वर्ट; सही गणितीय परिणाम प्राप्त करने के लिए यह स्पष्ट रूप से वांछनीय व्यवहार है। में `;

console.log(("" + TotalAccountBalance).indexOf('.')); 
संबंधित मुद्दे