Node.JS API ile çekilen sayı hatalı dönüştürülüyor

Katılım
5 Mart 2014
Mesajlar
5.701
Makaleler
12
Çözümler
44
JavaScript:
 GetRequestData("GetMoney", Res).then (Val =>
 {
 if (parseInt(Val) >= 100)
 {
 msg.guild.roles.create({data: {name: args[2],color: args[3],}}).then((e) => {msg.member.roles.add([e.id.toString()]);});
 Mesaj("Rol oluşturuldu ve sana verildi.");
 }
 else.
 {
 Mesaj("Rol oluşturmak için gerekli para sende bulunmuyor.");
 }
 });

Bu kodu çalıştırdığımda 1 milyon para birimi olsa dahi 100'ün altındaymış gibi çalışıyor. "parsefloat" ile de denedim. Yine aynı. Dönüştürme yapmayınca da şart sağlanmıyor. Şartı nasıl düzgün bir şekilde sağlayacağım?
 
Responseu gösterebilir misiniz?
JavaScript:
function GetRequestData(Variable, Value)
{
    return new Promise(function (Resolve)
    {
        var options =
        {
            host: 'Domain',
            path: encodeURI('&Var=' + Variable + "&Val=" + Value)
        }
        var request = http.request(options, function (res)
        {
            var Data = '';
            res.on('data', function (chunk)
            {
                Data += chunk;
            });
            res.on('end', function ()
            {
                Resolve(RemoveHTML(Data));
            });
        });
        request.on('error', function (e)
        {
            console.log(e.message);
        });
        request.end();
    });
}
 
JavaScript:
function GetRequestData(Variable, Value)
{
    return new Promise(function (Resolve)
    {
        var options =
        {
            host: 'Domain',
            path: encodeURI('&Var=' + Variable + "&Val=" + Value)
        }
        var request = http.request(options, function (res)
        {
            var Data = '';
            res.on('data', function (chunk)
            {
                Data += chunk;
            });
            res.on('end', function ()
            {
                Resolve(RemoveHTML(Data));
            });
        });
        request.on('error', function (e)
        {
            console.log(e.message);
        });
        request.end();
    });
}
Yok kodu değil de direkt request sonucunda dönen respnsu bi consolea intege'a parse etmeden yazdırıp paylaşabilir misiniz manasında demiştim.
 
Yok kodu değil de direkt request sonucunda dönen respnsu bi consolea integer parse etmeden yazdırıp paylaşabilir misiniz manasında demiştim.
1646742819857.png

Üstteki orijinal, alttaki float, en alttaki int değeri.
 
@Caulfield

"typeof" ile kontrol ettim. "string" olarak döndürüyor.
Çözüm vermeni beklerdim. Eğer bilmiyorsan neden yazıyorsun? Biliyorsan gel konuya mesaj bırak. Yardım etmek için yardım etme, tecrübeli bir şekilde yardım et. Eğer fark etmediysen sorun değil.

Sorun API üzerinde "String" olarak aktarmam. Yani virgül olduğu için sorun çıkmış.
 
Son düzenleme:
@Caulfield

"typeof" ile kontrol ettim. "string" olarak döndürüyor.
Çözüm vermeni beklerdim. Eğer bilmiyorsan neden yazıyorsun? Biliyorsan gel konuya mesaj bırak. Yardım etmek için yardım etme, tecrübeli bir şekilde yardım et. Eğer fark etmediysen sorun değil.

Sorun API üzerinde "String" olarak aktarmam. Yani virgül olduğu için sorun çıkmış.
Dostum sakin ol, buraya yazdıktan sonra siteye bile girmedim, anca giriyorum. ParseInt içine string değer alır zaten. Senden istediğim 'val' değerini consola yazdırmandı sadece. ParseInt metodunun içine verdiğin değer virgül ya da noktalı olsa da farketmez integer'a çevirir. Sorunun o val değerinin String olması değil, string olmalı zaten, fotoğraf da paylaştım zaten. İyi anla çözümünü.
 
Dostum sakin ol, buraya yazdıktan sonra siteye bile girmedim, anca giriyorum. ParseInt içine string değer alır zaten. Senden istediğim 'val' değerini consola yazdırmandı sadece. ParseInt metodunun içine verdiğin değer virgül ya da noktalı olsa da farketmez integer'a çevirir. Sorunun o val değerinin String olması değil, string olmalı zaten, fotoğraf da paylaştım zaten. İyi anla çözümünü.
Sorunu zaten çözdüm. Paniğe gerek yok.

Zaten string olarak çekiyor ama sorun ham veri olarak çekmemesiydi. API artık ham olarak çekiyor, bu şekilde çözüldü.
 
Son düzenleyen: Moderatör:

Technopat Haberler

Geri
Yukarı