jsonp请求到的数据中小数点后的数字没了

在某个项目中,想通过jsonp跨域获取豆瓣API的数据,但发现获取的数据中,评分原本是7.1就变成了7,6.0就变成了6。

相关代码

$(document).ready(function(){
    if($("#douban_score").length > 0) {
        var name = "奇葩说第五季";
        $.ajax({
            type: 'get',
            dataType: "jsonp",
            jsonp:"callback",
            timeout: 5000,
            url: 'http://api.douban.com/v2/movie/search?q='+ name +'&count=1',
            error: function(){
                alert('请求解析服务器失败');
            },
            success:function(data){
                if(data.subjects[0].rating.average!=0){
                    $('#douban_score').text(data.subjects[0].rating.average)
                }
            }
        })
    }
});

jsonp获取的到部分数据:

clipboard.png

json原本的数据

clipboard.png

感觉似乎是被压缩了,请问如何不压缩这个数据呢?

阅读 3.2k
3 个回答

没有做特殊处理的情况下7.1是不会变成7的 -- 你这个是7.0

js数字类型显示时会自动忽略小数点最后的0的,如果要显示6.0 需要提前将数据以字符串形式传递过来 '6.0' 否则只会显示6

你可以随意试一试 6.30 6.0 这种在控制台看输出

如果想要保留返回数据的小数点,可以用 toFixed(位数)

(7).toFix(1)

clipboard.png

clipboard.png
我这边一模一样的代码,没有重现你的问题 可以检查下是不是jq版本的原因

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题