0
這甚至可能嗎?如何使字符串不可追加?
function from_country_to_country(country_from, country_to) {
// get the right zone prices
var zone_price = zone_finder(country_to['zone']);
$('#country_to_country').html(country_from['land']);
$('#call').html(formatPrice(country_from[zone_price]) + ' kr/min');
$('#recieve').html(formatPrice(country_from['receive_calls']) + ' kr/min');
$('#send_sms').html(formatPrice(country_from['send_sms']) + ' kr/SMS');
$('#recieve_sms').html(formatPrice(country_from['receive_sms']) + ' kr/SMS');
$('#opening_fee').html(formatPrice(country_from['opening_fee']) + ' kr');
}
function within_the_country(country) {
$('#from_within').html(country['land']);
$('#from_domestic').html(formatPrice(country['domestic']) + ' kr/min');
$('#from_RCF').html(formatPrice(country['receive_calls']) + ' kr/min');
$('#from_send_sms').html(formatPrice(country['send_sms']) + ' kr/SMS');
$('#from_recieve_sms').html(formatPrice(country['receive_sms']) + ' kr/SMS');
$('#from_opening_fee').html(formatPrice(country['opening_fee']) + ' kr');
$('#from_gprs_data').html(formatPrice(country['data_price'])+ ' kr/mb');
}
// Format prices from ex: turns 1 into 1,00
function formatPrice(n) {
if (!isNaN(parseFloat(n))) {
n = parseFloat(n);
n = Math.round(n * 100)/100
n = n.toFixed(2);
return n;
} else {
// IF WE CAN MAKE "n" NON-APPENDABLE HERE
return n;
}
}
如果n
不是一個數字我不想' kr/mb'
被附加到字符串。我知道我可以檢查它是否是一個數字,如果不是,不要追加。但我有很多不同的後綴,我追加到返回的字符串formatPrice()
。那麼我需要到處檢查。有沒有一個很好的解決這個問題?
字符串是不可變的,所以你不能改變他們,但是沒有辦法避免有人把你的字符串,並創建一個基於一個新的它。但爲什麼不只是將後綴作爲可選參數傳遞給formatPrice? –
爲什麼不將'unit'作爲參數添加到'formatPrice'函數並修改它以返回一個字符串?你可以處理所有格式化邏輯(包括你在問什麼) – user3080953
@ user3080953我不認爲我放棄明白你的意思。 Nvm,我理解完美! – vonhact