javascript

java

python

c#

android

node.js

c++

reactjs

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

String.Format格式化不带美分的货币的方式

我正在使用当前方法显示货币

String.Format("{0:C}", item.DonationAmount)

哪个输出像$ 10.00

我们将处理大笔美元,而不是美分。 我们希望货币显示为$ 10,不带小数或零。 我怎样才能做到这一点? 删除货币格式会使数字显示为10.0000 :(预先感谢。

trans by 2020-02-03T11:40:20Z

Python格式字符串带空格的千位分隔符

对于带有千位分隔符的打印数字,一个可以使用python格式的字符串:

'{:,}'.format(1234567890)

但是,如何指定我想要一个用于千位分隔符的空间?

trans by 2020-01-30T02:10:02Z

scope-在python-3.6中带有'f'前缀的字符串

我正在尝试Python 3.6。 通过新代码,我偶然发现了这种新语法:

f"My formatting string!"

看来我们可以做这样的事情:

>>> name = "George"
>>> print(f"My cool string is called {name}.")
My cool string is called George.

谁能阐明这件事的内部运作方式? 特别是f前缀的字符串可以采用的变量范围是什么?

trans by 2020-01-27T06:05:17Z

c#-将十进制值格式化为带前导空格的字符串

如果值小于100,如何将小数点值格式设置为逗号/点和前导空格后的一位数字?

例如,应将十进制值12.3456输出为" 12.3",且前导空格为单个。 10.011将是" 10.0"123.123"123.1"

我正在寻找一种适用于标准/自定义字符串格式的解决方案,即

decimal value = 12.345456;
Console.Write("{0:magic}", value); // 'magic' would be a fancy pattern.
trans by 2020-01-25T06:07:49Z

wpf-如何在不激怒用户的情况下格式化绑定到TextBox的小数?

我正在尝试在WPF中使用数据绑定在TextBox中显示带格式的小数。

目标

目标1:在代码中设置小数属性时,在TextBox中显示2个小数位。

目标2:当用户与TextBox(键入)交互时,不要生气。

目标3:绑定必须更新PropertyChanged上的源。

尝试次数

尝试1:不格式化。

在这里,我们几乎从头开始。

<TextBox Text="{Binding Path=SomeDecimal, UpdateSourceTrigger=PropertyChanged}" />

违反目标1。___.__将在文本框中显示“ 4.50000”。

尝试2:在绑定中使用StringFormat。

<TextBox Text="{Binding Path=SomeDecimal, UpdateSourceTrigger=PropertyChanged, StringFormat=F2}" />

违反目标2。说SomeDecimal为2.5,并且文本框显示为“ 2.50”。 如果选择全部并键入“ 13.5”,则在文本框中将以“ 13.5.00”结尾,因为格式化程序“有帮助地”会插入小数和零。

尝试3:使用扩展WPF工具包的MaskedTextBox。

[http://wpftoolkit.codeplex.com/wikipage?title=MaskedTextBox]

假设我正确阅读了文档,则掩码## 0.00表示“两个可选数字,后跟一个必需数字,一个小数点和另外两个必需数字。这迫使我说”可以输入的最大数字。 这个TextBox是999.99“,但我可以接受。

<xctk:MaskedTextBox Value="{Binding Path=SomeDecimal, UpdateSourceTrigger=PropertyChanged}" Mask="##0.00" />

违反目标2。TextBox以___.__开头,然后选择它并键入5.75,将产生575.__。获得5.75的唯一方法是选择TextBox并键入<space><space>5.75

尝试4:使用扩展WPF工具包的DecimalUpDown微调器。

[http://wpftoolkit.codeplex.com/wikipage?title=DecimalUpDown]

<xctk:DecimalUpDown Value="{Binding Path=SomeDecimal, UpdateSourceTrigger=PropertyChanged}" FormatString="F2" />

违反目标3。DecimalUpDown会愉快地忽略UpdateSourceTrigger = PropertyChanged。 “扩展的WPF工具包Codeplex”页面上的一位协调员建议在[http://wpftoolkit.codeplex.com/discussions/352551/。]上修改ControlTemplate。它满足目标3,但违反了目标2,表现出与“尝试”中相同的行为 2。

尝试5:使用样式数据触发器,仅在用户未编辑时才使用格式。

在TextBox上使用StringFormat绑定到双精度型

即使这个目标满足了所有三个目标,我也不想使用它。 (A)文本框每个变成12行而不是1行,我的应用程序包含很多文本框。 (B)我所有的文本框都已经具有一个Style属性,该属性指向设置了Margin,Height和其他内容的全局StaticResource。 (C)您可能已经注意到下面的代码两次设置了绑定路径,这违反了DRY主体。

<TextBox>
    <TextBox.Style>
        <Style TargetType="{x:Type TextBox}">
            <Setter Property="Text" Value="{Binding Path=SomeDecimal, StringFormat=F2}" />
            <Style.Triggers>
                <Trigger Property="IsFocused" Value="True">
                    <Setter Property="Text" Value="{Binding Path=SomeDecimal, UpdateSourceTrigger=PropertyChanged}" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </TextBox.Style>
</TextBox>

除了这些不舒服的事情...

违反目标2。首先,突然单击显示“ 13.50”的文本框,使其突然显示“ 13.5000”。 其次,如果以空白的TextBox开头,并且键入“ 13.50”,则TextBox将包含“ 1350”。 我无法解释为什么,但是如果光标位于TextBox中字符串的右端,则按句点键不会插入小数。 如果TextBox包含长度大于0的字符串,并且我将光标重新定位到该字符串右端以外的任何位置,则可以插入小数点。

尝试6:自己动手做。

我将通过子类化TextBox或创建附加属性,然后自己编写格式代码来度过痛苦和磨难。 它将充满琴弦操纵,并导致大量脱发。


是否有人对格式化满足以上所有目标的文本框的小数格式有任何建议?

trans by 2020-01-19T01:05:10Z

.net-C#-在字符串中插入可变数量的空格? (格式化输出文件)

好的,我从一个填充了DataGridView的列表中获取数据,并将其导出到文本文件中。 我已经完成了将其导出为CSV的功能,并且还希望创建纯文本版本。

由于标题和其他元素的长度是可变的,因此在保存文件然后在记事本中打开文件时,看起来就像一团糟,因为没有任何内容。

我想让输出看起来像这样:

Sample Title One   Element One   Whatever Else
Sample Title 2     Element 2     Whatever Else
S. T. 3            E3            Whatever Else

我认为可以遍历每个元素以获得最长的元素的长度,这样我就可以计算出要添加到其余元素中的每个元素多少个空格。

我的主要问题是:是否有一种优雅的方法将可变数量的字符添加到字符串中? 最好有这样的东西:myString.insert(index, charToInsert, howManyToInsert);

当然,我显然可以编写一个通过循环执行此操作的函数,但我想看看是否有更好的方法可以执行此操作。

提前致谢!

-Sootah

trans by 2020-01-12T15:02:54Z

java-如何用参数名称而不是数字格式化消息?

我有类似的东西:

String text = "The user {0} has email address {1}."
// params = { "Robert", "myemailaddr@gmail.com" }
String msg = MessageFormat.format(text, params);

这对我来说不是很好,因为有时我的翻译人员不确定{0}和{1}中的内容,因此能够重新编写消息而不必担心args的顺序也很不错。

我想将参数替换为可读的名称而不是数字。 像这样:

String text = "The user {USERNAME} has email address {EMAILADDRESS}."
// Map map = new HashMap( ... [USERNAME="Robert", EMAILADDRESS="myemailaddr@gmail.com"]
String msg = MessageFormat.format(text, map);

是否有捷径可寻?

谢谢!抢

trans by 2020-01-10T04:26:12Z

字符串格式-如何在XAML元素中使用StringFormat?

我深入到绑定到订单的XAML元素堆栈中。

订单日期显示为 “ 2008年12月31日12:00:00”。

我希望它显示为例如 “ 2008年12月31日”。

我怎样才能做到这一点? 我已经看到其他Stackoverflow问题提到StringFormat,但是它们以无法使用的方式使用多重绑定。

这是我想要的一种语法(这是伪代码),只需在需要的地方指定StringFormat,这有可能吗?

<StackPanel>
    <ListView ItemsSource="{Binding Orders}">
        <ListView.View>
            <GridView>
                <GridViewColumn 
                    Header="Order ID" 
                    DisplayMemberBinding="{Binding Path=OrderID}"
                    StringFormat="{}{1:dd.MM.yyyy}"/>
                <GridViewColumn 
                    Header="Order Date" 
                    DisplayMemberBinding="{Binding Path=OrderDate}"/>
            </GridView>
        </ListView.View>
    </ListView>
</StackPanel>
trans by 2020-01-06T07:50:42Z

格式化整数以使用不带小数位的千位分隔符或对于小整数以0开头

愚蠢的问题,我想格式化一个整数,使其与1000的分隔符(,)一起出现,但也没有小数位和前导0。

到目前为止,我的尝试是:

String.Format("{0} {1}", 5, 5000);            // 5 5000
String.Format("{0:n} {1:n}", 5, 5000);        // 5.00 5,000.00
String.Format("{0:0,0} {1:0,0}", 5, 5000);    // 05 5,000

我需要的输出是:

5 5,000

有什么明显的我想念的东西吗?

trans by 2020-01-01T03:20:17Z

更好的字符串格式

争论太多了,format()容易引起混乱。 有没有更强大的方法来格式化字符串。 像这样:

"This is #{number} string".format("number" -> 1)

还是由于类型问题而无法实现(我认为format()需要使用Map [String,Any];不知道这是否会使情况更糟)。

或者是这样做的更好方法:

val number = 1
<plain>This is { number } string</plain> text

即使会污染名称空间?

编辑:

尽管在许多情况下可能会进行简单的拉皮条,但我还在寻找与Python format()方向相同的东西(请参阅:[http://docs.python.org/release/3.1.2/library/string.html #formatstrings)]

trans by 2019-11-12T11:34:02Z

我可以使用换行符时为什么使用endl?

这个问题在这里已有答案:

  • C ++:“ std :: endl”和“ \ n”                                     13个答案

当我只能使用\n时,是否有理由将endlcout一起使用? 我的C ++书说使用endl,但我不明白为什么。 是\n是否像endl一样不受广泛支持,还是我缺少某些东西?

trans by 2019-11-11T10:14:38Z

左对齐固定宽度的字符串?

我只想要固定宽度的文本列,但所有字符串都是右填充的,而不是左填充的!!

 sys.stdout.write("%6s %50s %25s\n" % (code, name, industry))

产生

BGA                                BEGA CHEESE LIMITED   Food Beverage & Tobacco
BHP                               BHP BILLITON LIMITED                 Materials
BGL                               BIGAIR GROUP LIMITED Telecommunication Services
BGG           BLACKGOLD INTERNATIONAL HOLDINGS LIMITED                    Energy

但是我们想要

BGA BEGA CHEESE LIMITED                                Food Beverage & Tobacco
BHP BHP BILLITON LIMITED                               Materials
BGL BIGAIR GROUP LIMITED                               Telecommunication Services
BGG BLACKGOLD INTERNATIONAL HOLDINGS LIMITED           Energy
trans by 2019-11-03T18:20:15Z

字符串-如何在Python中格式化具有可变位数的数字?

这个问题在这里已有答案:

  • 动态格式化字符串                                     5个答案

假设我想在前面显示数字123,并带有可变数量的填充零。

例如,如果我想以5位数字显示它,那么我将有5位数字给我:

00123

如果我想以6位数字显示它,我将有6位数字给出:

000123

我将如何在Python中做到这一点?

trans by 2019-11-03T05:37:44Z

c#-每N个字符在字符串中添加分隔符吗?

我有一个包含二进制数字的字符串。 如何在每8位数字后分隔字符串?

假设字符串是:

string x = "111111110000000011111111000000001111111100000000";

我想在每个8个字符后添加一个分隔符,例如,(逗号)。

输出应为:

"11111111,00000000,11111111,00000000,11111111,00000000,"

然后我想将其发送到list <>最后8个字符1个,然后再发送前8个chars(,除外),依此类推。

我怎样才能做到这一点?

trans by 2019-10-13T03:18:46Z

浮点数-Python,在输出中将所有浮点数打印到2个小数位

我需要输出4个不同的浮点数到小数点后两位。

这就是我所拥有的:

print '%.2f' % var1,'kg =','%.2f' % var2,'lb =','%.2f' % var3,'gal =','%.2f' % var4,'l'

这很不干净,看起来也很烂。 是否有办法在输出'%.2f'中进行浮动?

注意:使用Python 2.6。

trans by 2019-10-12T11:07:11Z

是否可以根据消息日志级别修改Python的日志记录格式?

我正在使用Python的logging机制将输出打印到屏幕上。 我可以使用print语句来做到这一点,但是我想允许用户更好地调整粒度以禁用某些类型的输出。 我喜欢为错误打印的格式,但是当输出级别为“信息”时,我希望使用更简单的格式。

例如:

  logger.error("Running cmd failed")
  logger.info("Running cmd passed")

在此示例中,我希望以不同的方式打印错误的格式:

# error
Aug 27, 2009 - ERROR: Running cmd failed
# info
Running cmd passed

是否可以在没有多个日志记录对象的情况下针对不同的日志级别使用不同的格式? 我宁愿在创建记录器后也无需修改它,因为有大量的if / else语句来确定如何记录输出。

trans by 2019-10-09T18:35:30Z

xaml-如何使用样式/模板格式化wpf中的小数位数?

我正在编写WPF程序,试图通过某种可重复的方法(例如样式或模板)找到一种在TextBox中格式化数据的方法。 我有很多TextBox(准确地说是95个),每个TextBox都绑定到自己的数字数据,每个数字数据都可以定义自己的分辨率。 例如,如果数据是分辨率为2的99.123,则应显示99.12。 同样,数据值99和分辨率3应该显示为99.000(而不是99)。 有没有办法做到这一点?

编辑:我需要澄清的是,当前正在使用的当前屏幕上有95个TextBox,但是我希望程序中各个屏幕上的每个TextBox都显示正确的小数位数。 现在,我考虑了一下,其中一些是TextBoxes(例如我现在正在处理的屏幕),一些是DataGrids或ListViews,但是如果我能弄清楚如何使其能够用于TextBoxes,我相信我能弄清楚 以及其他控件。

在这种情况下,没有太多代码可共享,但我将尝试使其更加清晰:

我有一个包含以下属性的视图模型(vb.net):

    Public ReadOnly Property Resolution As Integer
        Get
            Return _signal.DisplayResolution
        End Get
    End Property

    Public ReadOnly Property Value As Single
        Get
            Return Math.Round(_signal.DisplayValue, Resolution)
        End Get
    End Property

在XAML中,我有:

<UserControl.Resources>
    <vm:SignalViewModel x:Key="Signal" SignalPath="SomeSignal"/>
</UserControl.Resources>
<TextBox Grid.Column="3" IsEnabled="False" Text="{Binding Path=Value, Source={StaticResource Signal}, Mode=OneWay}" />

EDIT2(我的解决方案):事实证明,离开计算机一段时间后,我回来找到一个简单的答案,令我望而却步。 在视图模型中格式化数据!

    Public ReadOnly Property Value As String
        Get
            Return (Strings.FormatNumber(Math.Round(_signal.DisplayValue, _signal.DisplayResolution), _signal.DisplayResolution))
        End Get
    End Property
trans by 2019-09-18T22:47:06Z

python - 将十六进制转换为二进制

我有ABC123EFFF。

我想拥有001010101111000001001000111110111111111111(即二进制代表,例如42位数和前导零)。

怎么样?

trans by 2019-09-14T20:21:50Z

printf - Python的许多字符串格式化方法 - 旧的(将要)被弃用了吗?

Python至少有六种格式化字符串的方法:

In [1]: world = "Earth"

# method 1a
In [2]: "Hello, %s" % world
Out[2]: 'Hello, Earth'

# method 1b
In [3]: "Hello, %(planet)s" % {"planet": world}
Out[3]: 'Hello, Earth'

# method 2a
In [4]: "Hello, {0}".format(world)
Out[4]: 'Hello, Earth'

# method 2b
In [5]: "Hello, {planet}".format(planet=world)
Out[5]: 'Hello, Earth'

# method 2c
In [6]: f"Hello, {world}"
Out[6]: 'Hello, Earth'

In [7]: from string import Template

# method 3
In [8]: Template("Hello, $planet").substitute(planet=world)
Out[8]: 'Hello, Earth'

不同方法的简要历史:

  • 自Pythons婴儿期以来,printf风格的格式一直存在
  • printf类是在Python 2.4中引入的
  • printf方法是在Python 2.6中引入的
  • printf-strings在Python 3.6中引入

我的问题是:

  • 是否已弃用或将弃用printf样式的格式?
  • printf中,是否已弃用或将弃用PendingDeprecationWarning方法? (我不是在谈论safe_substitute,据我所知,它提供了独特的功能)

类似的问题以及为什么我认为它们不重复:

  • Python字符串格式:%vs. .format - 仅处理方法1和2,并询问哪一个更好; 我的问题是根据Python的Zen来明确地讨论弃用

  • 字符串格式化选项:优点和缺点 - 仅处理问题中的方法1a和1b,答案中的1和2,以及关于弃用的任何内容

  • 高级字符串格式与模板字符串 - 主要是关于方法1和3,并不涉及弃用

  • 字符串格式化表达式(Python) - 回答提到原计划'%'方法计划不推荐使用。 但计划弃用,待定弃用和实际弃用之间有什么区别? 并且printf风格的方法甚至不会提高PendingDeprecationWarning,所以这真的会被弃用吗? 这篇文章也很陈旧,所以信息可能已经过时了。

也可以看看

  • PEP 502:字符串插值 - 扩展讨论
  • String Formatter
trans by 2019-09-10T08:34:31Z

python - 部分字符串格式

是否可以使用高级字符串格式化方法进行部分字符串格式化,类似于字符串模板safe_substitute()函数?

例如:

s = '{foo} {bar}'
s.format(foo='FOO') #Problem: raises KeyError 'bar'
trans by 2019-09-02T04:38:18Z

1 2 3 下一页 共3页