Перевести десятичные футы в футы и дюймы? - PullRequest
1 голос
/ 26 января 2010

Как мне перейти к преобразованию измерения, например, с 12,5 футов в 12 футов 6 дюймов? Как бы я создал это второе число, которое читает только десятичное место при умножении на 12?

прямо сейчас у меня есть двойное Измерение01, использующее другие переменные и некоторую математику, чтобы получить ноги в десятичных числах. Я отправляю это в текстовое представление с farf.setText (Measurement01 + "" + "ft");

Любая помощь будет оценена!

Ответы [ 3 ]

7 голосов
/ 26 января 2010

Вычтите целую часть:

float measurement = 12.5;
int feet = (int)measurement;
float fraction = measurement - feet;
int inches = (int)(12.0 * fraction);
1 голос
/ 26 января 2010

Проще говоря, где length - длина с плавающей точкой:

int feet = (int)length;
int inches = (length - feet) * 12.0;
: :
farf.setText (feet + " ft, " + inches + " inches");
0 голосов
/ 26 января 2010

Опираясь на ответ @ Ry4an:

//... Other code above

float Measurement01 = 12.5;
int feet = (int)Measurement01;
float fraction = Measurement01 - feet;
int inches = (int)(12.0 * fraction);

// Display like: 2.5 = 2 ft 6 in, 0.25 = 3 in, 6.0 = 6 ft
farf.setText((0 != feet ? feet + " ft" : "") + (0 != inches ? " " + inches + " in" : "")); 
...