string-formatting 相关问题

通常指的是将任意数量的各种数据类型显示为字符串的许多方法。

以 str.format 切片字符串

我想用 str.format 实现以下目标: x,y = 1234,5678 打印 str(x)[2:] + str(y)[:2] 我能够做到这一点的唯一方法是: 打印“{0}{1}”。format(str(x)[2:],str(y)[:2]) 现在,这是前任...

回答 7 投票 0

Python 中元组解包为格式化字符串

我一直在研究 Luciano Ramalho 的 Fluent Python 第二版。 在第 5 页,他写道,他尝试在整本书中采用 f 字符串语法,尽管有时 str.

回答 1 投票 0

科学计数法的 C# 字符串格式(如果大于一定位数)

我有一系列数字,可以是大整数,也可以是非常小的小数。我希望四位数以上的数字以科学记数法显示。 起初,我考虑过

回答 1 投票 0

当我可以使用换行符时为什么要使用endl? [重复]

当我只能使用时,是否有理由将 endl 与 cout 一起使用 ?我的 C++ 书上说要使用 endl,但我不明白为什么。是 没有像 endl 那样广泛支持,或者我错过了什么?

回答 3 投票 0

如何使用 .NET 8.0 中的新 CompositeFormat 类?

我正在测试将 .NET 6.0 应用程序迁移到 .NET 8.0,以下代码现在会抛出 CA1863“使用'CompositeFormat'”。但我不知道怎么办。 私有常量字符串

回答 1 投票 0

字符串格式中%s和%d有什么区别?

我不明白 %s 和 %d 的作用以及它们如何工作。

回答 13 投票 0

格式化后的字符串还是字符串吗?它仍然可以打印吗,还是只是一堆规则?

我正在查看有关 Java 实践的其他代码。这是他的代码: 导入java.util.Arrays; 导入java.util.stream.Collectors; 公共类 StripComments { 公共静态字符串条注释(S...

回答 2 投票 0

在Java中,格式化后的字符串还是字符串吗?它仍然可以打印吗,还是只是一堆规则?

我正在看其他关于java实践的代码。这是他的代码: 导入java.util.Arrays; 导入java.util.stream.Collectors; 公共类 StripComments { 公共静态字符串条注释(...

回答 1 投票 0

Lua 格式化返回意想不到的结果

我最近编写了一个小程序,我试图将秒数转换为更人类可读的格式,但在尝试格式化输出时遇到问题,不知怎的,我最终得到了......

回答 1 投票 0

学习 python Python TypeError:格式字符串参数不足[重复]

我是Python新手,正在尝试学习基础知识 今天刚学会如何格式化字符串,无法弄清楚这行代码有什么问题 数据 = [“扎克”,“可怜的家伙”...

回答 1 投票 0

Number() 函数通过将字符串转换为数字来将数字结果加 1 [重复]

当我意识到输出是加一时,我想借助 Number() 函数将字符串 '9333852702227987' 转换为数字。 我尝试使用其他方法来转换字符串

回答 1 投票 0

C++ 中的 String.Format 替代方案[重复]

我没有太多使用 C++ 的经验。相反,我在 C# 方面工作得更多,因此,我想通过与我在 C# 中所做的事情相关来提出我的问题。我必须生成一个特定的表格...

回答 7 投票 0

.NET Framework 4.8 和 .NET 8 之间的日期格式月份缩写的行为不同

此代码在 .NET Framework 4.8 和 .NET5、6、7、8 之间的行为有所不同 Console.WriteLine("CurrentCulture 为 {0}。", CultureInfo.CurrentCulture.Name); Console.WriteLine("

回答 1 投票 0

如何格式化热图注释浮动以仅显示小数部分

我有浮点数,我只对它们的小数位感兴趣,因为整数部分并不重要(并且在我的问题中总是相同的)。 我必须使用字符串格式,因为

回答 4 投票 0

如何格式化浮点数以仅显示小数部分

我有浮点数,我只对它们的小数位感兴趣,因为整数部分并不重要(并且在我的问题中总是相同的)。 我必须使用字符串格式,因为

回答 2 投票 0

为什么 gcc -Wall 会发出有关零长度格式字符串的警告?

我四处搜寻了一下这方面的信息,但没有找到任何令人满意的东西。函数调用是否有一些特殊行为 sprintf(someString, ""); 这就解释了为什么会这样

回答 4 投票 0

由于变量格式问题,无法获取 Ansible 中现有目录的统计数据

我试图将第一个目录的所有者传递给 Ansible 变量 source_files。 我们无法控制 Ansible 变量 source_files 的内容,因为它是通过 som 构造的...

回答 1 投票 0

由于变量格式问题,无法获取 ansible 中现有目录的统计信息

我试图将第一个目录的所有者传递给ansible变量source_files 我们无法控制 Ansible 变量 source_files,因为它是通过某些 OLAM api 构建的。我有...

回答 1 投票 0

如何对齐列表框中的字符串内容文本?

我在对齐列表框中的字符串内容时遇到问题。这是一个简单的示例,演示了我的应用程序遇到的问题: 基本 XAML 用户界面: 我在对齐列表框中的字符串内容时遇到问题。这是一个精炼的示例,演示了我的应用程序遇到的问题: 基本 XAML UI: <Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="687" Loaded="Window_Loaded"> <Grid> <ListBox x:Name="lstClients" HorizontalAlignment="Left" Height="220" Margin="28,22,0,0" VerticalAlignment="Top" Width="625"/> </Grid> </Window> 背后代码: Class MainWindow Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs) Dim names() As String = {"Cook, Adam", "Renolds, Bridgette", "Smith, Carla", "Doe, Daniel", "Redmond, Ebenezer", "Kelly, Francine"} Dim ids() As String = {"123456", "654321", "112345", "274587", "128493", "937401"} Dim dob() As String = {"1/2/80", "4/17/88", "8/31/72", "6/11/91", "10/27/81", "3/3/75"} Dim phones() As String = {"1234567890", "2536772364", "1537779004", "7586712164", "8548778384", "0987654321"} For i As Integer = 0 To 5 lstClients.Items.Add(FormatClientString(names(i), ids(i), dob(i), phones(i))) Next End Sub Private Function FormatClientString(name As String, id As String, birthDate As String, phone As String) Dim clientString As String clientString = String.Format("{0, -52} {1, -17} {2, -20} {3}", name, id, birthDate, phone) Return clientString End Function End Class 输出: 这就是我实际上想要完成的任务(蹩脚的绘画编辑,但基本上我只是想让列对齐,无论客户名字的长度如何): 从我读到的内容来看,String.Format应该做我想做的事,但输出永远都不正确。我还尝试对每个字符串(名称、ID、出生日期和电话)使用 String.PadRight,但得到了相同的行为(未对齐的列)。 我是否忽略了一些简单的事情? 编辑:我的实际应用程序中的控件不是列表框。它是来自 WPF Toolkit 的 AutoCompleteBox。我使用上面的 ListBox 作为示例,因为它表现出与格式化字符串相同的行为,并且更容易使用它来制作简单的示例。 如果有人知道如何将列添加到 AutoCompleteBox 的下拉建议中,那也可以,因为这就是最终的目标。 问题是由您的控件使用的字体引起的。它是一种比例字体,因此您无法使用空格来填充列来创建特定宽度的列,因为每行文本部分的像素长度都不同。 设置像 Consolas 这样的固定宽度字体(其中每个字符具有相同的像素宽度)将解决该问题。 但是,固定宽度字体看起来不太舒服,更好的解决方案是使用“知道”“多列”含义的控件。 (列表视图、数据网格) 对于那些想要使用比例字体显示 string.Format 的人,请尝试此 XAML(这只是 为了好玩,但可以在一些不需要太多样式灵活性的简单应用程序中使用)。使用此代码,我们可能需要根据所选字体调整固定的 Width: <ListBox x:Name="lstClients" HorizontalAlignment="Left" Height="220" Margin="28,22,0,0" VerticalAlignment="Top" Width="625" FontFamily="Lucida Calligraphy"> <ListBox.ItemTemplate> <DataTemplate> <ItemsControl ItemsSource="{Binding}"> <ItemsControl.ItemTemplate> <DataTemplate> <Border Width="20" Margin="0,0,-12,0"> <TextBlock Text="{Binding}" TextAlignment="Center"/> </Border> </DataTemplate> </ItemsControl.ItemTemplate> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal"/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> </ItemsControl> </DataTemplate> </ListBox.ItemTemplate> </ListBox> 这里的想法是每个字符串都是一个字符数组。因此,我们为每个数据项(字符串)定义一个 ItemTemplate。模板应该是一个 ItemsControl,以在自定义 ItemsPanelTemplate 中显示字符列表,以水平堆叠这些字符(以加入可读文本)。因为每个字符都是具有固定宽度的 Border,所以它可以与为 Border(及其 Margin)设置适当宽度的任何字体一起使用。为了换行文本,我们可能需要使用 WrapPanel 来代替。但无论如何,这是某种有趣的技巧,不应该在重要的商业应用程序中使用。

回答 2 投票 0

同时进行字符串插值、字符串格式化和空合并运算符

我需要这个: 如果以下格式化值为空,则显示 N/A。否则,显示格式化值。它需要进行字符串插值。我尝试做类似嵌套插值的事情......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.