标签: units-of-measurement

如何防止vh-units忽略滚动条?

我正在使用水平滚动条进行页面布局.我有一些水平顺序固定宽度的面板,它们都应该具有视口高度.我决定测试一下这个vh单元.

.panel { height: 100vh; }
Run Code Online (Sandbox Code Playgroud)

这工作正常,直到我得到一个滚动条.问题是,vh忽略滚动条使用的高度,因此添加了一个垂直滚动条.

我想从测量结果中减去滚动条的高度vh; 有没有办法做到这一点?

css units-of-measurement viewport-units

18
推荐指数
1
解决办法
1万
查看次数

F#计量单位如何运作?

有没有人有机会深入了解F#计量单位的工作原理?它只是基于类型的chicanery,还是隐藏在其下的CLR类型可能(可能)从其他.net语言中使用?它适用于任何数值单位,还是仅限于浮点值(这是所有示例使用的)?

.net f# functional-programming units-of-measurement

17
推荐指数
2
解决办法
4486
查看次数

Xcode中的测量单位是多少?

这可能听起来很傻但是当我在Xcode中使用尺寸时,总框架尺寸等于320*568(宽*高).我很好.但手机的分辨率实际上是不同的.iphone 4S是640*960,5和下一代是640*1136.

我知道最后一个是xcode用作单位的两倍,所以我的问题是:

XCode使用什么单位测量?如果是像素,为什么不使用手机尺寸/分辨率作为参考?

xcode frame units-of-measurement ios

17
推荐指数
3
解决办法
2万
查看次数

C++中的度量单位

我正在研究游戏引擎,目前我不得不设计IO系统.我已经做到了,引擎本身不处理任何文件格式,而是让用户通过创建*.dll具有适当命名函数的文件来实现他想要的任何东西.虽然这本身并不是什么大问题,但我主要担心的是在发动机使用过程中可能会出现的影响.

我设计了一个简单的resource接口作为用户可以想到的所有东西的基类,我试图通过创建专用于常见数据类型的简单子类来扩展它,因此用户不必实现基础知识由他本人(目前我在想audio,image,datamesh).从audio课堂开始,我偶然发现了一个特殊的问题,同时试图决定应该以什么类型存储有关采样率的信息.通常的单位是赫兹,所以我决定把它变成一个unsigned int.

但是这里有一点问题 - 如果用户试图用千赫兹设置它会怎么样?让我们假设一些抽象文件格式可以暂时将它存储在两个单元中.我已经创建了一个简单的包装类来命名单元类型:

class hertz{
private:
    unsigned int value;
    hertz(){};
public:
    operator unsigned int();
    hertz(unsigned int value);
};
Run Code Online (Sandbox Code Playgroud)

并决定让用户也使用kHz:

class kilohertz{
private:
    float value;
    kilohertz(){};
public:
    operator hertz();
    kilohertz(float value);
};
Run Code Online (Sandbox Code Playgroud)

虽然audio类中的函数允许用户设置采样率,但声明为track& samplingRate(units::hertz rate);.用户必须通过明确说出他正在使用的数量级来调用它:

someAudioFile.samplingRate(hertz(44100));
someAudioFile.samplingRate(kilohertz(44.1));
Run Code Online (Sandbox Code Playgroud)

我的问题是:

是否有更好的方法迫使用户以简单而优雅的方式使用测量单元?一个设计模式可能,或者一些巧妙使用typedef?

另请注意,在创建引擎的过程中,我可能需要更多与Hertz不兼容的单元.从我的头脑 - 我可能希望用户能够通过做units::rgb(123,42,120)和设置像素颜色units::hsl(10,30,240).

我已经尝试寻找一个可行的答案并且只找到了这个问题,但OP只需要数量级而不确保单位与其他单位不兼容.

另请注意我使用旧 …

c++ design-patterns units-of-measurement

16
推荐指数
3
解决办法
8559
查看次数

F#中字符串的编译时限制,类似于度量单位 - 是否可能?

我正在使用F#开发Web应用程序.考虑保护用户输入字符串免受SQL,XSS和其他漏洞的影响.

换句话说,我需要一些编译时约束,这些约束允许我将纯字符串与表示SQL,URL,XSS,XHTML等的字符串区分开来.

许多语言都有它,例如Ruby的原生字符串插值功能#{...}.
使用F#,似乎度量单位表现非常好,但它们仅适用于数字类型.
有几种解决方案采用运行时 UoM (链接),但我认为这是我的目标的开销.

我查看了FSharpPowerPack,似乎很有可能为字符串提出类似的东西:

[<MeasureAnnotatedAbbreviation>] type string<[<Measure>] 'u> = string
// Similarly to Core.LanguagePrimitives.IntrinsicFunctions.retype
[<NoDynamicInvocation>]
let inline retype (x:'T) : 'U = (# "" x : 'U #)
let StringWithMeasure (s: string) : string<'u> = retype s

[<Measure>] type plain
let fromPlain (s: string<plain>) : string =
    // of course, this one should be implemented properly
    // by invalidating special characters and then assigning a proper UoM
    retype s

// Supposedly populated …
Run Code Online (Sandbox Code Playgroud)

string f# units-of-measurement

15
推荐指数
2
解决办法
1058
查看次数

java -Xmx1G是指10 ^ 9还是2 ^ 30个字节?

而在一般情况,是用于单位-Xmx,-Xms-Xmn选项("K","M"和"G",或不太标准的可能性"K","m"或"G")的二进制前缀倍数(即,功率1024),还是1000的力量?

手册说它们代表千字节(kB),兆字节(MB)和千兆字节(GB),表明它们是原始SI系统中定义的1000的幂.我的非正式测试(我不是很自信)表明他们真的是kibibytes(kiB),mebibytes(MiB)gibibytes(GiB),所有权力都是1024.

哪个是对的?例如,什么Java代码会显示当前大小?

使用1024的倍数对于RAM大小来说并不奇怪,因为RAM通常通过加倍硬件模块来物理布局.但是,随着我们获得越来越大的权力,以明确和标准的方式使用单位变得越来越重要,因为混乱的可能性会增加.单位"t"也被我的JVM接受,1 TiB比1 TB大10%.

注意:如果这些确实是二进制倍数,我建议更新文档和用户界面以非常清楚,例如" 附加字母k或K表示kibibytes(1024字节)"或m或M表示mebibytes( 1048576字节) ".这就是采用的方法,例如在Ubuntu:UnitsPolicy - Ubuntu Wiki中.

注意:有关选项用途的更多信息,请参阅例如java - 启动JVM时Xms和Xmx参数是什么?.

java units-of-measurement

15
推荐指数
2
解决办法
7957
查看次数

WPF单位和代码隐藏

最近我发现WPF支持XAML中的不同测量单位.除了默认DIP,还支持像素,英寸和厘米(据我所知).这允许设计者编写如下的XAML:

<Canvas>
    <Line X1="0cm" X2="3cm" Y1="1cm" Y2="3cm" Stroke="Black"/>
</Canvas>
Run Code Online (Sandbox Code Playgroud)

但是,您无法绑定这些值.想象一下,我们有一个带有Dimension属性的ViewModel,它是一个String,例如"7cm".以下将无效:

<Button Width="{Binding Dimension}">Test</Button>
Run Code Online (Sandbox Code Playgroud)

抛出FormatException.同样,FrameworkElement在代码隐藏中创建时,如下所示:

Canvas1.Children.Add(new Button() { Width = "3cm", Content = "Test"});
Run Code Online (Sandbox Code Playgroud)

编译失败,因为在构造函数/尝试创建控件的任何地方抛出异常.

我想知道:

  • 在代码隐藏中是否可以使用自然单位(在我的情况下是公制 - 厘米)?
  • 怎么样?
  • 是否有完整的WPF/XAML支持的单位列表?

编辑:

以下是评论中的链接,可解决此问题:

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width.aspx

wpf xaml units-of-measurement density-independent-pixel

14
推荐指数
1
解决办法
3373
查看次数

Paint.setTextSize(float)使用哪个度量单位?

我想在视图上使用特定高度(以像素为单位)绘制文本Canvas.你可以简单地使用Paint.setTextSize(float)像素数或使用dpsp

android units-of-measurement

14
推荐指数
2
解决办法
1万
查看次数

是否有任何可用的API来代表各种单位的项目,如KG,升,米,KM等

在我的项目,地方我有一个工作unitOfIssueItems.现在,各种项目当然可以有不同的表示单位.所以,我正在寻找一些API或某种方式,以优雅地处理这种情况.

是否有任何可用的API,它提供了一些表示这些单位的方法?我听说JScience似乎令人印象深刻,但我再次面临着映射它的另一个问题JPA.在一些谷歌工作之后,我发现在这种情况下正在进行一些工作 - JScience-JPA,但似乎在生产中使用它还不稳定.

我也发现了一些关于JSR-275的东西,但是从这个JCP页面看来它似乎已经被拒绝了.

然后我遇到了单位测量,我还没有深入细节.但是,同样的问题也来了.这可以用JPA映射吗?

编辑: -这个SO问题我遇到了带有Unit的Java Numbers,但我不知道它是否已准备好生产.

我真的很困惑,特别是在看到上述选项之后.JPA是一个额外的问题,我是否可以使用它们中的任何一个.有没有人遇到过这样的情况,并找到了解决方法?我真的需要一些帮助.我该怎么用?如果没有其他出路,那么表示这些单位的适当方式是什么.我看到的一种方法是使用enums.但是,当然,这将是最后的选择.

java jpa units-of-measurement jscience

14
推荐指数
1
解决办法
802
查看次数

使用 Python 类型提示对数字强制使用单位

有没有办法使用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 中的类型提示是否能够处理某些功能。

python types units-of-measurement

14
推荐指数
1
解决办法
1703
查看次数