我有一个应用程序,自iOS 9以来一直在商店。最近它因为舍入错误而破产。我正在使用Xcode版本9.2(9C40b)。我在iOS 9中编写了一段显示舍入工作的文本代码,但不是iOS 11.结果应该四舍五入到小数点后两位。
function twitchTV(){
var twitchers = ["ESL_SC2", "OgamingSC2", "cretetion", "freecodecamp", "storbeck", "habathcx", "RobotCaleb", "noobs2ninjas"];
var output = "";
var results = [];
for (var i = 0; i < twitchers.length; i++){
var channelName = twitchers[i];
var apiQueryBio = 'https://wind-bow.glitch.me/twitch-api/users/' + channelName + '/';
$.getJSON(apiQueryBio, function(json) {
results.push(json);
results.sort(function(a,b) {
return twitchers.indexOf(a.name) - twitchers.indexOf(b.name);
});
renderItems(results);
});
}
}
function renderItems(results) {
$("#name").html('');
var output = '';
for (var i = 0; i < results.length; i++) {
output += '<div class="name">' + results[i].name + '</div>';
}
$("#name").html(output);
}
twitchTV();
在iOS 11上:
myNumber = 67.95999999999997 舍入结果= 67.96000000000001
**在iOS9上** myNumber = 67.95999999999997 舍入结果= 67.96
答案 0 :(得分:0)
更新 - 解决了问题
这不是舍入错误,而是NSDecimalNumber的描述方法的问题。当我查看值时,使用调试器,它是正确的。
要查看正确的结果,请使用:
NSLog(@"rounding result = %@", result.stringValue);