在我的项目,地方我有一个工作unitOfIssue的Items.现在,各种项目当然可以有不同的表示单位.所以,我正在寻找一些API或某种方式,以优雅地处理这种情况.
是否有任何可用的API,它提供了一些表示这些单位的方法?我听说JScience似乎令人印象深刻,但我再次面临着映射它的另一个问题JPA.在一些谷歌工作之后,我发现在这种情况下正在进行一些工作 - JScience-JPA,但似乎在生产中使用它还不稳定.
我也发现了一些关于JSR-275的东西,但是从这个JCP页面看来它似乎已经被拒绝了.
然后我遇到了单位测量,我还没有深入细节.但是,同样的问题也来了.这可以用JPA映射吗?
编辑: -从这个SO问题我遇到了带有Unit的Java Numbers,但我不知道它是否已准备好生产.
我真的很困惑,特别是在看到上述选项之后.JPA是一个额外的问题,我是否可以使用它们中的任何一个.有没有人遇到过这样的情况,并找到了解决方法?我真的需要一些帮助.我该怎么用?如果没有其他出路,那么表示这些单位的适当方式是什么.我看到的一种方法是使用enums.但是,当然,这将是最后的选择.
有没有办法使用Python类型提示作为单位?类型提示文档显示了一些示例,表明可以使用NewType,但这些示例也表明,相同“新类型”的两个值相加不会给出“新类型”的结果,而是给出基本类型的结果。有没有一种方法可以丰富类型定义,以便您可以指定像单位一样工作的类型提示(不是它们转换的范围,而是当您获得不同单位时收到类型警告)?可以让我执行此操作或类似操作的东西:
Seconds = UnitType('Seconds', float)
Meters = UnitType('Meters', float)
time1 = Seconds(5)+ Seconds(8) # gives a value of type `Seconds`
bad_units1 = Seconds(1) + Meters(5) # gives a type hint error, but probably works at runtime
time2 = Seconds(1)*5 # equivalent to `Seconds(1*5)`
# Multiplying units together of course get tricky, so I'm not concerned about that now.
Run Code Online (Sandbox Code Playgroud)
我知道单元的运行时库存在,但我好奇的是 python 中的类型提示是否能够处理某些功能。
是否有内置版本的类型转换功能可以保留单位,如果没有,我将如何制作它们?因此,例如使用此代码,如何将intWithSecondsMeasure转换为浮点数而不会丢失度量或乘以1.0<s>?
[<Measure>] type s
let intWithSecondsMeasure = 1<s>
let justAFloat = float intWithSecondsMeasure
Run Code Online (Sandbox Code Playgroud) 有谁知道Silverlight/WFP使用的测量单位是什么?例如,如果我创建一个新按钮并将其高度设置为150,那是150像素吗?点?毫米?
在继续编写代码之前,我在Adobe Illustrator中设计了所有应用程序,虽然我尝试将所有内容设置为Illustrator文件中的维度,但Silverlight应用程序通常更大.
我注意到你可以使用1em,它在不同的网站上看起来会有所不同.
什么是em比例?
每个的优点和缺点是什么?em,px,%和pt?
我目前的选择是百分比,唯一的原因是因为我可以通过修改根元素(正文)上的字体大小来全局更改所有元素的字体大小
我一直在使用px几乎所有与测量相关的样式,但我想知道使用像素(px),百分比(%),点(pt)和的最佳位置em.
我已经看过在排版中使用em和(我相信)points,但我不知道使用它们的最佳方式.
应该在哪里使用,为什么?
我希望能够这样做:
let duration = 1<hours> + 2<minutes> + 3<seconds>
Run Code Online (Sandbox Code Playgroud)
具有以下类型和功能(可能还有更多计量单位):
type [<Measure>] seconds
type [<Measure>] minutes
type [<Measure>] hours
let seconds_per_minute = 60<seconds> / 1<minutes>
let minutes_per_hour = 60<minutes> / 1<hours>
let minutes_to_seconds minutes seconds = minutes * seconds_per_minute + seconds
let hours_to_minutes hours minutes = hours * minutes_per_hour + minutes
Run Code Online (Sandbox Code Playgroud)
因此,基本上应该使用"hours_to_minutes"来添加小时和分钟,并且当我在上面键入时,应该使用"minutes_to_seconds"来添加分钟和秒.
这可能在F#中做到吗?
我目前正在建立一个PSD网站.大多数字体的字母跟踪为-25(<- AV->:我猜这是字母间距的符号?).
我如何在CSS中获得相同的效果?我知道这个属性letter-spacing: X但它没有占用百分比,-25px或pts将是一个巨大的数字!
我得到了一个新应用程序的设计。所有尺寸都是 Android 就绪的,并以 DP -(密度无关像素)给出。如何将这些值转换为Flutter 的 LP(逻辑像素)。我知道这Window.devicePixelRatio给了我每个逻辑像素的设备像素数。
DP 和 LP 之间的确切区别是什么?是否有任何内置的 dp 到 lp 转换方法?