问题标签 [iformatprovider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - IFormatProvider 做什么?
我在玩 Datetime.ParseExact 方法,它需要一个 IFormatProvider ......
它可以输入null,但它到底是做什么的?
c# - 格式化字符串以正确显示日期
我需要帮助将这个字符串-->转换 20090727 10:16:36:643
为 --> 07/27/2009 10:16:36
该函数正在返回原始日期和时间,该SynchronizationAgent.LastUpdated()
函数返回上述格式的字符串。
原问题:留作参考
我有这个-->
这是设置一个看起来像这样的属性-->
不幸的是,无论有没有String.Format
显示的日期看起来像这样--> 20090727 10:16:36:643
我已经尝试了多种变体来按照我想要的方式格式化它。我错过了什么?
根据以下建议(主要是 Joel 的),我实施了建议的更改,但我仍然得到一个"String is not a valid DateTime error"
我也尝试过实现这个-->
但仍然没有。
c# - C# IFormatable ToString("0.0000")
我有课,我想重现与ToString("0.0000")
其他数字格式相关的功能。如何才能做到这一点?
c# - 如何为 DateTime 创建和使用自定义 IFormatProvider?
我试图创建一个IFormatProvider
可以识别 DateTime 对象的自定义格式字符串的实现。这是我的实现:
我期待能够在这样的DateTime.ToString(string format, IFormatProvider provider)
方法中使用它,但是:
在该示例中,在美国文化中运行,结果是"00cu0Ao00or0aA"
,显然是因为标准的 DateTime 格式字符串正在被解释。
但是,当我以下列方式使用同一个类时:
我得到了我的期望,即"Sun Jan 02"
我不明白不同的结果。有人可以解释一下吗?
谢谢!
.net - Label.Text / Convert.ToString 和 String.Format 帮助 / 千位分隔符
我有一个标签,我想显示它Text("1234567")
就像一个带有千位分隔符的数字//
我该怎么做:
请解释这两个。
winforms - 在 DataGridView 中使用自定义格式化程序
所以,也许这是一个糟糕的设计;我不知道。但是假设我有一个DataTable
包含int
值的列;这些值实际上是为了代表enum
我在我的项目中拥有的某种类型。
我想要做的是DataGridView
绑定到这个表并让列显示名称enum
而不是整数值“0”或“1”或其他。
我考虑的一个选择是做整个规范化的事情:在其中添加一个表,其中DataSet
包含enum
名称,键入enum
值,并让我的第一个表包含对该表的引用。
但这是一个enum
特定的想法。我想知道,一般来说,我是否可以为给定类型编写自己的IFormatProvider
实现ICustomFormatter
*,并使用该格式化程序来控制值如何在控件的给定列中显示DataGridView
(或者真的在任何控件中,就此而言) .
*这就是我怀疑的方式,如果我问的是可能的话。我对使用这些界面并没有真正的死心塌地。
c# - C# 创建自定义 NumberFormatInfo 以在货币值为 0.00 美元时显示“免费”
我需要在我的 ASP.NET MVC 应用程序中显示一种货币,但是当货币为 0 时,我希望它显示“免费”(当然是本地化的!)而不是 0.00 美元。
所以当我有这样的事情时......
输出为 "$0.00" "$100.00"
我希望它是“免费的”“100.00 美元”
我想我可以使用 .ToString(string format, IFormatProvider formatProvider) 方法来完成此操作,但我不知道该怎么做。显然,我想尽可能多地重用 NumberFormatInfo 并且仅在输入为 0 时覆盖它。在这种情况下,我可以简单地返回一个包含我的“免费”字符串的本地化资源。
那么我该怎么做呢?
谢谢
c# - 具有整数值的 IFormatProvider
我的对象中有一个整数值。我需要将其转换为整数值。所以我这样做了。System.Convert.ToInt64(Object) 但是FxCop说我需要提供IFormatProvider。字符串数据类型我对提供 IFormatProvider 没有任何问题。如何为整数值提供 IFormatProvider?
c# - GetFormat 永远不会获得 IFormatProvider 类型
在 WinGrid(Infragistics,如果你必须知道的话)中,我得到了一个包含int
s 的列。该值是秒数,您可以从中计算时间。我创建了一个 IFormatProvider/ICustomFormatter 来做到这一点。在网格初始化期间,我设置了 Format 和 FormatInfo 参数。
但是,当在我的自定义类型格式化程序上调用 GetFormat 时,类型参数始终是 NumberFormatInfo,而不是 ICustomFormatter。为什么?
这是我的课,以防万一:
asp.net - 如何在 ASP.Net 中使用 IFormatProvider?
该IFormatProvider
接口允许我创建一个类,该类将对象的自定义格式设置为字符串,并且可以与例如string.Format
.
但是,似乎没有一种简单的方法可以将它与 ASP.Net 一起使用。例如,如果我有一个DataGrid
我可以创建一个BoundColumn
并使用它DataFormatString
来说明如何格式化它,但是我看不到任何方法来告诉它使用我的IFormatProvider
实现。BoundColumn
似乎仅限于默认格式字符串。
到目前为止,我发现的最佳解决方案是创建我自己的扩展类,DataGridColumn
它基本上复制了BoundColumn
.
有更好的方法吗?