繁体   English   中英

将文字转换为F#中的字节

[英]cast literal to byte in F#

这是我的代码片段:

let targetMeasure (usesPercent:Nullable<byte>) value =
            match usesPercent.Value with
            | 0 -> sprintf "$%A" value
            | _ -> sprintf "%A%%" value

尝试将“ usesPercent”与0匹配,但是0必须是一个字节。 这总是使我在F#中感到困惑。 我跳过了可为空的东西,但是值不是同一类型。 我该如何解决?

您可以通过写入0uy来创建字节文字。 如果编写了一些无效的数字文字(例如0z ),则F#Interactive将打印出一个(完整的)数字文字列表。 然后您得到:

样本格式包括4,0x4,0b0100,4L,4UL,4u,4s,4us,4y,4uy,4.0,4.0f,4I。

对于整数,解码u代表无符号, ys ((无))非常容易, L代表8位,16位,32位和64位。

let targetMeasure (usesPercent:Nullable<byte>) value =
    match usesPercent.Value with
    | 0uy -> sprintf "$%A" value
    | _ -> sprintf "%A%%" value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM