我需要將"100% - 1"
轉換爲300 - 1
其中300 - 畫布寬度?如何評估(批量)此操作?轉換字符串(算術運算)
//for example:
var value = batch("100% - 1", canvas.width); //Must 299, because canvas.width is 300
var secondary = batch("50% + 10", canvas.width); //Must 160
//where first argument - arithmetic operation, second - relativity value.
這個問題不是來自科幻小說的範圍,而是一個非常嚴肅真實的問題。
更新!但如果只需要轉換百分比?
var value = hack("75%", 300); //Must 255
var operation = hack("30%", 100) + 10; //Must 40
var end = hack("1em", somearg); //EM?
Update2!如果我使用new Function("a", "b", "return (%%Expression%%)")
而不是eval
,會發生什麼?
例如:
var operation = "90% - 10";
要:
new Function("a", "return ((a * 90/100) - 10)");
如何做呢?
爲什麼你不使用'var anything =(canvas.width *(percent/100))+ somenumber;'? – 2012-12-24 12:27:56