PureScript是否支持C / Java等“格式字符串”?

0分贝

我需要输出前导零和六位数的数字。在C或Java中,我将"%06d"用作格式字符串来执行此操作。PureScript是否支持格式字符串?或者我将如何实现呢?

鲨鱼

我不知道在PureScript中会支持printf样式功能的任何模块。有一种类型安全的数字格式化方法会非常好。

在此期间,我将编写如下内容:

import Data.String (length, fromCharArray)
import Data.Array (replicate)

-- | Pad a string with the given character up to a maximum length.
padLeft :: Char -> Int -> String -> String
padLeft c len str = prefix <> str
  where prefix = fromCharArray (replicate (len - length str) c)

-- | Pad a number with leading zeros up to the given length.
padZeros :: Int -> Int -> String
padZeros len num | num >= 0  = padLeft '0' len (show num)
                 | otherwise = "-" <> padLeft '0' len (show (-num))

产生以下结果:

> padZeros 6 8
"000008"

> padZeros 6 678
"000678"

> padZeros 6 345678
"345678"

> padZeros 6 12345678
"12345678"

> padZeros 6 (-678)
"-000678"

编辑:同时,我编写了一个小模块,可以用这种方式格式化数字:https : //github.com/sharkdp/purescript-format

对于您的特定示例,您需要执行以下操作:

如果您想格式化诠释egers:

> format (width 6 <> zeroFill) 123
"000123"

如果要格式化Number s

> format (width 6 <> zeroFill <> precision 1) 12.345
"0012.3"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++:字符串格式

来自分类Dev

C字符串格式

来自分类Dev

C#字符串格式参数

来自分类Dev

C中的字符串格式

来自分类Dev

JavaScript是否支持按字符串格式设置数字格式?

来自分类Dev

检查字符串在C中的格式是否正确

来自分类Dev

C是否支持原始字符串文字?

来自分类Dev

在Java中是否有格式标记可以转换为小写字符串?

来自分类Dev

如何在Java中检查字符串是否为日期时间格式

来自分类Dev

是否可以使用字符串在java中以原始格式调用文件?

来自分类Dev

基于文本的数据格式,支持多行字符串

来自分类Dev

Kotlin是否支持可变字符串?

来自分类Dev

使用字符串格式时不支持的格式字符

来自分类Dev

格式化字符串时出错 - ValueError: 不支持的格式字符 ',' (0x2c)

来自分类Dev

如何检查字符串是否为json格式

来自分类Dev

如何验证字符串是否为YYYYMMDD格式?

来自分类Dev

JDBC格式的ResultSet是否为表格字符串?

来自分类Dev

PHP检查字符串格式是否正确

来自分类Dev

检查字符串是否有日期,任何格式

来自分类Dev

检查字符串是否采用“坐标/坐标”格式

来自分类Dev

是否可以识别字符串的格式?

来自分类Dev

检查字符串是否遵循某种格式?

来自分类Dev

检查字符串是否与特定格式匹配

来自分类Dev

检查字符串是否格式化单词

来自分类Dev

比较输入字符串的格式是否正确

来自分类Dev

使用C格式字符串构建C ++字符串的最佳方法是什么?

来自分类Dev

C#6字符串插值+短格式字符串错误?

来自分类Dev

C-在格式化的字符串中查找子字符串

来自分类Dev

关于C语言中的printf格式字符串

Related 相关文章

热门标签

归档