我正在使用Unity,尤其是UnityScript或C#中的答案会有所帮助。我正在使用eval()
制作计算器,并且需要使用^
的指数
我要拿:
1+2^
并将
^
替换为,
,然后在Mathf.Pow(
后面插入2
。即使“ 2”的位数超过一位,我也需要它工作。
它需要成为:
1+Mathf.Pow(2,
//Mathf.Pow is exponents using 2 parameters
现在,当用户键入
3
时,它将变为1+Mathf.Pow(2,3
。我已经知道当用户键入非数字时如何添加)
。 最佳答案
只要替换并插入就足够了。
function Start ()
{
var s : String = "1+1245^6+3";
var MathString : String = "Mathf.Pow(";
var MathString1 : String = ")";
var strResult : String = "";
var j : int;
s = s.Replace('^', '.');
for( var i=0; i< s.length; i++)
{
if(s[i]=='+' || s[i]=='-' || s[i]=='/')
j=i;
if(s[i]=='.')
{
strResult = s.Insert((i+2), MathString1 );
s= strResult;
print(j);
strResult = s.Insert((j+1), MathString );
}
}
print(strResult);// 1+Mathf.Pow(1245.6)+3
}
关于c# - 在字符串中的连续数字后面插入字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32792944/