• 14-09-2023, 06:12:27
    #1
    Merhaba,

    Aşağıda ki gibi kod satırım var Coinsupply verisini sayıya dönüştürmek istiyorum acemiyim başaramadım bir türlü



    Benim istediğim o sayılar 199,310,197 bu şekilde görünmesi virgüllü

    tofixed'Da işe yaramadı
  • 14-09-2023, 06:41:04
    #2
    function replaceNumber(str2) {
        var nstr = '';
        for (var i = 0; i < str2.length; i++) {
            nstr += str2[i];
            if ((i + 1) % 3 === 0 && i !== str2.length - 1) {
                nstr += ',';
            }
        }
        return nstr;
    }
    
    const getData = async () => {
        var response = await fetch('https://exploreblockchain.clore.ai/ext/getmoneysupply')
            .then(resp => resp.text())
            .then(resp => {
                return String(resp)
            })
            .catch(err => {
                return '0'
            })
        response = replaceNumber(response)
        console.log(response)
    }
    getData()
    • berkayildiz
    berkayildiz bunu beğendi.
    1 kişi bunu beğendi.
  • 14-09-2023, 06:43:12
    #3
    Üyeliği durduruldu
    berkayildiz adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Aşağıda ki gibi kod satırım var Coinsupply verisini sayıya dönüştürmek istiyorum acemiyim başaramadım bir türlü



    çektiğim veri bu : https://exploreblockchain.clore.ai/ext/getmoneysupply

    Çıktısı (Coin Supply) :


    Benim istediğim o sayılar 199,310,197 bu şekilde görünmesi virgüllü

    tofixed'Da işe yaramadı
    const sayi = 199331770.6636348;
    const biçimlendirilmisSayi = sayi.toLocaleString('en-US');
    console.log(biçimlendirilmisSayi); // "199,331,770.664"
    
    const tamSayiKismi = Math.floor(sayi);
    const biçimlendirilmisTamSayi = tamSayiKismi.toLocaleString('en-US');
    console.log(biçimlendirilmisTamSayi); // "199,331,770"
  • 14-09-2023, 06:52:26
    #4
    Misafir adlı üyeden alıntı: mesajı görüntüle
    function replaceNumber(str2) {
        var nstr = '';
        for (var i = 0; i < str2.length; i++) {
            nstr += str2[i];
            if ((i + 1) % 3 === 0 && i !== str2.length - 1) {
                nstr += ',';
            }
        }
        return nstr;
    }
    
    const getData = async () => {
        var response = await fetch('https://exploreblockchain.clore.ai/ext/getmoneysupply')
            .then(resp => resp.text())
            .then(resp => {
                return String(resp)
            })
            .catch(err => {
                return '0'
            })
        response = replaceNumber(response)
        console.log(response)
    }
    getData()
    Selamlar Çok uzatmışsınız bu kadar uzatmadan da bunu yapabilirsiniz...


    let sayi = 199310197.5478433
    let sayiFormat = sayi.toLocaleString('tr-TR') // toLocaleString sayiyi ülkeye göre formatlar.
    console.log(sayiFormat)
    Bu yukarıda ki kod çalışacaktır eğer sayının .5478433 kısmı tam gözüksün istiyorsanız ( , { minimumFractionDigits: 0 } ) 0 alanı oluşturmanız lazım. onuda şöyle kullanırsınız.

    let sayi = 199310197.5478433
    let sayiFormat = sayi.toLocaleString('tr-TR', { minimumFractionDigits: 10 })
    console.log(sayiFormat)
    Unutmayın kodunuzdaki sayı string yeniden number yapmanız gerekebilir eğer sayısal bir işlem var ise...

    Kodunuz bugsuz olsun kolay gelsin
  • 14-09-2023, 07:23:59
    #5
    alicangunduz adlı üyeden alıntı: mesajı görüntüle
    Selamlar Çok uzatmışsınız bu kadar uzatmadan da bunu yapabilirsiniz...


    let sayi = 199310197.5478433
    let sayiFormat = sayi.toLocaleString('tr-TR') // toLocaleString sayiyi ülkeye göre formatlar.
    console.log(sayiFormat)
    Bu yukarıda ki kod çalışacaktır eğer sayının .5478433 kısmı tam gözüksün istiyorsanız ( , { minimumFractionDigits: 0 } ) 0 alanı oluşturmanız lazım. onuda şöyle kullanırsınız.

    let sayi = 199310197.5478433
    let sayiFormat = sayi.toLocaleString('tr-TR', { minimumFractionDigits: 10 })
    console.log(sayiFormat)
    Unutmayın kodunuzdaki sayı string yeniden number yapmanız gerekebilir eğer sayısal bir işlem var ise...

    Kodunuz bugsuz olsun kolay gelsin
    Her üçlüde nokta değil virgül isteniyor. replace ile virgüle çevirirsiniz ama localestring küsüratsız saçmalıyor. Ben kodun kısa olmasına değil düzgün çalışmasına odaklanıyorum. Kolay gelsin
    • berkayildiz
    • alicangunduz
    berkayildiz ve alicangunduz bunu beğendi.
    2 kişi bunu beğendi.
  • 14-09-2023, 07:31:03
    #6
    Her birinize tek tek teşekkür ederim üstadlarım minnettarım.
  • 14-09-2023, 07:32:54
    #7
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Her üçlüde nokta değil virgül isteniyor. replace ile virgüle çevirirsiniz ama localestring küsüratsız saçmalıyor. Ben kodun kısa olmasına değil düzgün çalışmasına odaklanıyorum. Kolay gelsin
    Her üçlüde virgül istenmiyor , sayı fiyat bilgisi gibi formatlanmaya çalışılıyor.

    199,310,197 yerine
    2,199,310,197 gelebilir.

    İsteği okumakta önemli okuduğunuz gibi kodu en optimize şekilde yazıyor olmanızda. İyi günler dilerim