我正在使用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/

10-10 22:46