2017-10-08 31 views
0

嘿:)你可以從這樣的方法的號碼減去例35%:隨機化數學運算,我們用百分比減去 - node.js的/ JS

var valueInString = "2383"; 
var num = parseFloat(valueInString); 
var val = num - (num * .35); 
console.log(val); 

但怎麼可能隨機化.35/0.35部分?

作爲例子,如果我想嘗試:

var randomREAL = require('randomize'); 
var randomARR = [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75] 
// randomREAL(randomARR) will generate a random number between 30 - 75 so that I can randomize my percentage value between 30% & 75% 

var valueInString = "2383"; 
var num = parseFloat(valueInString); 
var val = num - (num * 0.randomREAL(randomARR)); 
console.log(val); 

我不能使用

0.randomREAL(randomARR) 

.randomREAL(randomARR) 

另外,如果我將建立像

var test = randomREAL(randomARR) 
0.test 
字符串

它不會工作。

任何想法如何隨機化的百分比值?

+1

怎麼樣'VAR VAL = NUM​​的間隔與隨機數 - (NUM *(randomREAL(randomARR)/ 100))'? – DavidDomain

+0

嘿很酷謝謝你:) – t33n

回答

2
+("0."+randomARR[ Math.floor(randomARR.length * Math.random()) ]) 

正如你已指出

另外,如果我將建立一個字符串像

VAR測試= randomREAL(randomARR) 0.test

這是行不通的。

因爲0.不是字符串。你想字符串連接如:

"0."+35 

然後你需要分析它放回了許多,可與unary plus operator來完成:

+("0."+35) 

此外,如果該號碼始終是兩位數字,你還可以使用/100 ...

提示:要獲得30和75之間的隨機整數一樣簡單:

30 + Math.floor(Math.random() * (75 - 30)) 
+0

這對我有用var val = num - (num *(「0。」+ randomREAL(randomARR)))謝謝你的幫助! – t33n