C# Emulator与使用Xamarin的三星Galaxy S3的输出不同

C# Emulator与使用Xamarin的三星Galaxy S3的输出不同,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我对数学计算结果的输出有意见。我有一个double数组的基本平均值,并使用ToString()方法将结果分配给一个Label对象。例如,当我模拟平均值时,标签显示正确的值15.96,但在我的Galaxy S3上,相同阵列的相同平均值显示159.6 有人知道怎么回事吗?我能做些什么使S3显示正确的值 谢谢大家! 编辑:将结果传递给标签并将标签添加到网格: double result = Math.Round(NP122.DoAverage(parameters), 2);

我对数学计算结果的输出有意见。我有一个double数组的基本平均值,并使用ToString()方法将结果分配给一个Label对象。例如,当我模拟平均值时,标签显示正确的值15.96,但在我的Galaxy S3上,相同阵列的相同平均值显示159.6

有人知道怎么回事吗?我能做些什么使S3显示正确的值

谢谢大家!

编辑:将结果传递给标签并将标签添加到网格:

            double result = Math.Round(NP122.DoAverage(parameters), 2);

            CustomLabel label = new CustomLabel();
            label.ColNo = grid.ColumnDefinitions.IndexOf(c);
            label.FontSize = 25;
            label.TextColor = Color.Green;

            if (result.ToString() == "NaN")
                label.Text = "0";
            else
                label.Text = result.ToString();
            label.IsVisible = true;
            for (int i = 0; i < numberOfRows.Length + 2; i++) {
                if(i == numberOfRows.Length +1)
                Grid.SetRow(label, i);
            }

            Grid.SetColumn(label, grid.ColumnDefinitions.IndexOf(c));
            listaRez.Add(label);
            foreach (CustomLabel a in listaRez)
            {
                if (a.ColNo == grid.ColumnDefinitions.IndexOf(c))
                {
                    grid.Children.Add(a);
                }                   
            }
double result=Math.Round(NP122.DoAverage(参数),2);
CustomLabel=新的CustomLabel();
label.ColNo=grid.ColumnDefinitions.IndexOf(c);
label.FontSize=25;
label.TextColor=Color.Green;
if(result.ToString()=“NaN”)
label.Text=“0”;
其他的
label.Text=result.ToString();
label.IsVisible=true;
对于(int i=0;i
编辑2:NP122.DoAverage的自定义函数:

 public static class NP122
{
    public static double Vx, sx, Xm, kn, Xkinf, Xksup;
    public static double sum;
    public static double sumaProvizorie;
    public static double[] valoriKn = new double[25];


    public static double ValoareCaracteristicaSuperioara(double[] l)
    {
        Vx = 0;
        sx = 0;
        Xm = 0;
        kn = 0;
        Xkinf = 0;
        Xksup = 0;
        sum = 0;
        sumaProvizorie = 0;

        valoriKn[0] = 0;
       //more here 
        valoriKn[24] = 0.35;


         if (l.Length < 2 )
            {
                Xksup = 0;
                Xkinf = 0;
            }
          else
            {                                      
                Xm = (l.Sum()) / (l.Length);

                for (int j = 0; j < l.Length; j++)
                {
                    sumaProvizorie = Math.Round(Math.Pow((l[j] - Xm), 2), 2);
                    sum += sumaProvizorie;
                }

                kn = valoriKn[l.Length - 1];
                double elements = (1.00 / (l.Length - 1));
                double putere = sum;

                sx = Math.Round(Math.Sqrt(elements * putere), 4);
                Vx = sx / Xm;
                Xksup = Xm * (1 + kn * Vx);
                Xkinf = Xm * (1 - kn * Vx);

            }

        return Xksup;
公共静态类NP122
{
公共静态双Vx、sx、Xm、kn、Xkinf、Xksup;
公共静态双和;
公共静态双sumaProvizorie;
公共静态双精度[]valoriKn=新双精度[25];
公共静态双VALOARECRACTERIASUPERIORA(双[]l)
{
Vx=0;
sx=0;
Xm=0;
kn=0;
Xkinf=0;
Xksup=0;
总和=0;
sumaProvizorie=0;
valoriKn[0]=0;
//更多
valoriKn[24]=0.35;
如果(长度小于2)
{
Xksup=0;
Xkinf=0;
}
其他的
{                                      
Xm=(l.Sum())/(l.Length);
对于(int j=0;j
你能分享你的代码吗请将代码添加到问题中!谢谢Adam!两种环境中的文化/地区/语言设置是否不同?你好Jason!不,该应用程序仍然不使用本地化。目前所有内容都是用英语硬编码的。你能给我展示一下NP122.DoAverage函数的样子吗?我假设这是一个cus汤姆:你自己造的?