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();
    });
}
 
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.
 
@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:
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:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…