如何将米转换为英尺和英寸

Bel*_*eMe 3 c#

创建一个程序后,我一直在努力将米转换为英尺和英寸,但我最终认为它可以正常工作。

现在我的问题是变量inchesleft是一个整数,我想弄清楚如何使它成为整数,因为我想降低英寸的剩余值,这样我就可以得到6feet 4inches等值。

下面的代码:

double inft, convert, inchesleft, value = 0.3048;
int ft;
string input;

Console.WriteLine("please enter amount of metres");
input = Console.ReadLine();
convert = double.Parse(input);

inft = convert / value;
ft = (int)inft;
inchesleft = convert / value % 1 *12;


Console.WriteLine("{0} feet {1} inches.", ft, inchesleft);
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

Waq*_*med 5

尝试这个:

double inft, convert, value = 0.3048;
int ft, inchesleft;
string input;

Console.WriteLine("please enter amount of metres");
input = Console.ReadLine();
convert = double.Parse(input);
Run Code Online (Sandbox Code Playgroud)

用输入数字除以0.3048得到英尺

inft = convert / value;
Run Code Online (Sandbox Code Playgroud)

现在,我们用十进制表示英尺。获取脚的左部分(小数点之前)

ft = (int)inft;
Run Code Online (Sandbox Code Playgroud)

获取英尺的右部分(小数点后),然后除以0.08333,将其转换为英寸

double temp = (inft - Math.Truncate(inft)) / 0.08333; 
Run Code Online (Sandbox Code Playgroud)

现在我们得到英寸的十进制数。获取英寸的左侧部分(小数点之前)

inchesleft = (int)temp; // to be more accurate use temp variable which contains the decimal point value of inches 

Console.WriteLine("{0} feet {1} inches.", ft, inchesleft);
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

  • 添加一个解释,这将是一个很好的答案。 (2认同)