使用Parse将两个int合并到一个双c#中

时间:2017-02-27 11:25:00

标签: c# parsing merge int double

我需要在一个唯一的double中合并两个int。 我的代码和示例:

int left = 1;
int right = 38;

我希望得到这个结果加倍:

  

double mergeVariable = 1.38

如何在一个double中合并两个int?

我试过这个但是没有工作

double result = double.Parse(left.ToString() + "." + right.ToString());

由于

6 个答案:

答案 0 :(得分:4)

您可能想要指定CultureInfo.InvariantCulture

  int left = 1;
  int right = 38;

  double result = double.Parse(
     left.ToString() + "." + right.ToString(),
     CultureInfo.InvariantCulture);

按顺序使用当前文化(可以有任意小数点,例如俄语中的逗号,

答案 1 :(得分:1)

您可能会尝试使用此方法,并获得转化结果,转换成功与否。

try
{
    int left = 1;
    int right = 38;
    double Both;
    bool ConverstionSucceed = double.TryParse((left + "." + right), NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out Both);
}
catch (Exception ex)
{
} 

答案 2 :(得分:0)

您可以将整数转换为字符串,将其与字符串组合并将其转换为double。

 left.toString();
 right.toString();
 string combinedLeftRight = left + "." + right;
 double mergeVariable = Convert.ToDouble(combinedLeftRight);

格尔茨

答案 3 :(得分:0)

这也有效:

int left = 1;
int right = 38;

double result = left + right / Math.Pow(10, right.ToString().Length);

答案 4 :(得分:0)

此方法将添加当前文化中的小数分隔符。

        int left = 1;
        int right = 38;

        double result = Convert.ToDouble(
           left.ToString() + CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator + right.ToString());

答案 5 :(得分:0)

喜欢这个答案:answer

具有插值字符串的变体(如果有可能使用它们)看起来更简洁:

int left = 1;
int right = 38;

double result = double.Parse($"{left}.{right}", CultureInfo.InvariantCulture);