我住在澳大利亚并没有太多关于英制长度的测量。
如何让用户在网页上输入英制长度测量值,精度为1/64英寸?我想到了几种方法,但我不知道是否有一种标准的方法,美国建筑行业的用户会习惯。
选项1 一个大的文本框,用户然后输入 5'11“63/64 (5英尺,11.984375英寸),然后我将解析,并以毫米为单位存储在数据库中。
选项2 一个文本框用于英尺,一个文本框用于英寸,一个下拉框用[1 / 64,1 / 32,...,63/64]表示英寸的小数部分,然后存储在数据库中以毫米为单位。
选项3 别的......
答案 0 :(得分:2)
出于以下原因,我会选择选项2.
如何将其存储在数据库中是您需要决定的事情。毫米不能完美地描述64英寸 ths (至少作为整数),但这对您来说可能不是问题。
我自己的想法是,你应该像要求用户输入那样准确地存储东西,如果你说的话,你确实需要准确度达到1/64 th 一英寸,那就失去了当你必须向用户解释时,将它们放入数据库时的准确性并不好。
您可以执行以下操作之一:
我自己的偏好会有第一个。它产生一个简单的整数字段,它可以比单独的字段更好地索引,没有精度损失,并且,如果你将所有应用程序测量值转换为64英寸 ths ,然后再将它们与之比较(和当然,将它们插入数据库中,你应该没有问题。
这种转换是一个简单的过程(与公制 - 英制的过程不同)。
答案 1 :(得分:1)
我会找一个脚的文本框和一个英寸的文本框。允许用户将空格分开的小数英寸。请务必提供输入区域附近的使用示例。例如:
[5___] feet, [11 3/4_] inches
Example: [6] feet, [1 1/4] inches
这似乎是自然输入和可解析性之间的良好折衷,因此您不必担心人们用来描绘英尺和英寸的所有可能方法(ft
,'
,{ {1}},f
等),但人们仍然可以轻松输入他们喜欢的任何单位。
答案 2 :(得分:1)
我赞成保罗·费舍尔的答案,但无论如何我想提供自己的答案,部分是因为我觉得我有超过600个字符的评论要补充。 ;)
我喜欢他的答案似乎至少同样强调为用户提供方便,因为它使程序员的工作变得简单。我相信我们应该尽可能地把用户放在第一位。理想情况下,你可以模拟各种解决方案,并询问实际的建筑行业用户(处理英制单位)试用它们并给你反馈,但现在你要问我们,而不是实际用户。 ..
我也倾向于双场UI。就个人而言,我会让解析器处理小数和小数输入(允许'11 .25'或'11 1/4')。当他们选择不是二进制分数的东西时,你必须弄清楚要做什么,比如5/7(例如,当它们可能意味着5/8时)。
至于存储,我猜你可以用毫米,只要它是一个浮点数。我会更舒服地存储英寸,因为如果你的值都是64英寸的倍数,你就不应该有舍入问题。我同意Pax的意见,能够以英制单位将其交还给用户,并减少分数。 (也许这是我对建筑行业做出的一个重大假设。据我所知,他们将一切正常化到第64位,并且看到'11 16/64'比'11 1/4'更高兴!)
答案 3 :(得分:0)
我不知道这是否属于“答案”,但如果我这样做,我会尝试提供一个英尺或英寸的单个字段,具体取决于预期的范围。
但这可能不够好,在这种情况下,一个用于英尺的字段和另一个用于英寸的字段就足够了。如果有人需要精确,他们可以输入以英寸为单位的小数。