我需要在一个唯一的double中合并两个int。 我的代码和示例:
int left = 1;
int right = 38;
我希望得到这个结果加倍:
double mergeVariable = 1.38
如何在一个double中合并两个int?
我试过这个但是没有工作
double result = double.Parse(left.ToString() + "." + right.ToString());
由于
答案 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);