0
public class Convert
{
    public void MMtofeetfraction(float millimeters)
    {
        if ((millimeters % 304.8f) != 0)
        {
            int feet = (int)(millimeters / 304.8f);
            double inchWithDecimal = millimeters * 0.03937;
            string s = inchWithDecimal.ToString("0.0000");
            string[] parts = s.Split('.');
            int i1 = int.Parse(parts[0]);
            float i2 = float.Parse("0." + parts[1]);
            int inch = i1 % 12;
            var accuracy = 16;
            double num = 1;
            double frac = i2 * accuracy;
            num = Math.Round(frac);
            if (num != 0)
            {
                while (num % 2 == 0)
                {
                    num = num / 2;
                    accuracy = accuracy / 2;
                }
                if (inch != 0)
                {
                    Debug.Log("Fraction output: " + feet + "'-" + inch + " " + num + "/" + accuracy + "\"");
                }
                else
                {
                    Debug.Log("Fraction output: " + feet + "'-" + num + "/" + accuracy + "\"");
                }
            }
            else
            {
                Debug.Log("Fraction output: " + feet + "'-" + inch + "\"");
            }
        }
        else
        {
            Debug.Log("Fraction output: " + Math.Round(millimeters / 304.8) + "'");
        }
    }
}
  • 输入 1440:输出:4' 7 1/2"
  • 输入 1550 : 输出 : 5' 1 "
  • 输入 1530:输出:5' 1/4"

现在,此代码可以正常工作并根据需要提供输出。我希望通过删除字符串拆分和其他字符串格式来即兴创作这段代码。有人可以帮助使用内置函数来处理这个问题吗?

4

0 回答 0