คำถามติดแท็ก string-formatting

โดยทั่วไปหมายถึงวิธีการต่างๆในการแสดงจำนวนชนิดข้อมูลที่แตกต่างกันโดยพลการลงในสตริง


16
การจัดรูปแบบสตริง:% กับ. format
Python 2.6 แนะนำstr.format()วิธีการที่มีไวยากรณ์แตกต่างกันเล็กน้อยจาก%ผู้ให้บริการที่มีอยู่ ไหนดีกว่าและสำหรับสถานการณ์อะไร ต่อไปนี้ใช้แต่ละวิธีและมีผลลัพธ์เหมือนกันดังนั้นความแตกต่างคืออะไร #!/usr/bin/python sub1 = "python string!" sub2 = "an arg" a = "i am a %s" % sub1 b = "i am a {0}".format(sub1) c = "with %(kwarg)s!" % {'kwarg':sub2} d = "with {kwarg}!".format(kwarg=sub2) print a # "i am a python string!" print b # "i …


13
ฉันจะเติมสตริง Python ด้วยช่องว่างได้อย่างไร
ฉันต้องการกรอกสตริงด้วยช่องว่าง ฉันรู้ว่างานต่อไปนี้เป็นศูนย์ >>> print "'%06d'"%4 '000004' แต่ฉันควรทำอย่างไรเมื่อฉันต้องการสิ่งนี้: 'hi ' แน่นอนฉันสามารถวัดความยาวสตริงและทำstr+" "*leftoverแต่ฉันต้องการวิธีที่สั้นที่สุด

13
เป็นไปได้ไหมที่จะเพิ่ม String to String.xml ใน Android แบบไดนามิก?
เป็นไปได้หรือไม่ที่จะมีตัวยึดตำแหน่งในค่าสตริงstring.xmlที่สามารถกำหนดค่าในขณะใช้งานได้ ตัวอย่าง: บางสตริงPLACEHOLDER1บางสตริงเพิ่มเติม

5
จัดรูปแบบสตริง Go โดยไม่พิมพ์หรือไม่
มีวิธีง่ายๆในการจัดรูปแบบสตริงใน Go โดยไม่ต้องพิมพ์สตริงหรือไม่? ที่ฉันสามารถทำได้: bar := "bar" fmt.Printf("foo: %s", bar) แต่ฉันต้องการสตริงที่ฟอร์แมทที่ส่งคืนแทนที่จะพิมพ์เพื่อให้ฉันสามารถจัดการกับมันต่อไป ฉันสามารถทำสิ่งที่ชอบ: s := "foo: " + bar แต่สิ่งนี้กลายเป็นเรื่องยากที่จะอ่านเมื่อสตริงรูปแบบซับซ้อนและยุ่งยากเมื่อส่วนหนึ่งหรือหลายส่วนไม่ใช่สตริงและต้องถูกแปลงก่อนเช่น i := 25 s := "foo: " + strconv.Itoa(i) มีวิธีที่ง่ายกว่านี้หรือไม่?

16
การใช้รูปแบบสตริงเพื่อแสดงทศนิยมได้ถึง 2 ตำแหน่งหรือจำนวนเต็มอย่างง่าย
ฉันมีฟิลด์ราคาที่จะแสดงซึ่งบางครั้งอาจเป็น 100 หรือ 100.99 หรือ 100.9 สิ่งที่ฉันต้องการคือการแสดงราคาเป็นทศนิยม 2 ตำแหน่งก็ต่อเมื่อมีการป้อนทศนิยมสำหรับราคานั้นเช่นถ้าเป็น 100 มันควรเท่านั้น แสดง 100 ไม่ใช่ 100.00 และถ้าราคาเท่ากับ 100.2 ก็ควรแสดง 100.20 เหมือนกันสำหรับ 100.22 ควรเหมือนกัน ฉัน googled และเจอตัวอย่างบางอย่าง แต่พวกเขาไม่ตรงกับสิ่งที่ฉันต้องการ: // just two decimal places String.Format("{0:0.00}", 123.4567); // "123.46" String.Format("{0:0.00}", 123.4); // "123.40" String.Format("{0:0.00}", 123.0); // "123.00"

10
ฉันจะจัดรูปแบบตัวเลขเป็นสตริงด้วยศูนย์นำหน้าได้อย่างไร
ฉันมีจำนวนที่ฉันต้องการแปลงเป็นสตริง ก่อนอื่นฉันใช้สิ่งนี้: Key = i.ToString(); แต่ฉันรู้ว่ามันถูกเรียงลำดับแปลก ๆ ดังนั้นฉันต้องใช้มันด้วยเลขศูนย์ ฉันจะทำสิ่งนี้ได้อย่างไร

11
ฉันจะจัดรูปแบบทศนิยมเพื่อแสดงทศนิยม 2 ตำแหน่งได้อย่างไร?
ฉันต้องการที่จะแสดง: 49 เช่น 49.00 และ: 54.9 เช่น 54.90 โดยไม่คำนึงถึงความยาวของทศนิยมหรือว่ามีทศนิยมใด ๆ ฉันต้องการแสดงDecimalด้วยทศนิยม 2 ตำแหน่งและฉันต้องการทำอย่างมีประสิทธิภาพ วัตถุประสงค์คือเพื่อแสดงค่าเงิน เช่น, 4898489.00

13
ฉันควรใช้ String.format () ของ Java หรือไม่หากประสิทธิภาพมีความสำคัญ
เราต้องสร้าง Strings ตลอดเวลาเพื่อบันทึกผลลัพธ์และอื่น ๆ ในเวอร์ชั่น JDK เราได้เรียนรู้ว่าเมื่อไรควรใช้StringBuffer(ผนวกหลายอัน, เธรดที่ปลอดภัย) และStringBuilder(ผนวกท้ายหลายอัน, ไม่ใช้เธรดที่ปลอดภัย) คำแนะนำในการใช้String.format()คืออะไร? มันมีประสิทธิภาพหรือไม่หรือเราถูกบังคับให้ติดกับการต่อข้อมูลสำหรับหนึ่ง liners ที่ประสิทธิภาพเป็นสิ่งสำคัญหรือไม่ เช่นแบบเก่าที่น่าเกลียด String s = "What do you get if you multiply " + varSix + " by " + varNine + "?"; เทียบกับรูปแบบใหม่ที่เป็นระเบียบ (String.format ซึ่งอาจช้ากว่า) String s = String.format("What do you get if you multiply %d …

6
จัดรูปแบบในเท็มเพลตสตริง kotlin
Kotlin มีคุณสมบัติที่ยอดเยี่ยมที่เรียกว่าแม่แบบสตริง ผมรักมัน. val i = 10 val s = "i = $i" // evaluates to "i = 10" แต่เป็นไปได้หรือไม่ที่จะมีการจัดรูปแบบในเทมเพลต? ตัวอย่างเช่นฉันต้องการจัดรูปแบบ Double ในเทมเพลตสตริงใน kotlin อย่างน้อยก็เพื่อกำหนดจำนวนหลักหลังตัวแยกทศนิยม: val pi = 3.14159265358979323 val s = "pi = $pi??" // How to make it "pi = 3.14"?

6
สตริงรูปแบบตัวเลขที่กำหนดเองเพื่อแสดงสัญญาณเสมอ
มีวิธีใดบ้างที่ฉันสามารถระบุสตริงรูปแบบตัวเลขมาตรฐานหรือแบบกำหนดเองเพื่อส่งสัญญาณได้เสมอไม่ว่าจะเป็น + ve หรือ -ve (แม้ว่าสิ่งที่ควรทำสำหรับศูนย์ฉันไม่แน่ใจ!)


19
ตัวยึดตำแหน่งที่ระบุชื่อในการจัดรูปแบบสตริง
ใน Python เมื่อทำการจัดรูปแบบสตริงฉันสามารถเติมตัวยึดตำแหน่งด้วยชื่อแทนที่จะตามตำแหน่งเช่นนั้น: print "There's an incorrect value '%(value)s' in column # %(column)d" % \ { 'value': x, 'column': y } ฉันสงสัยว่าเป็นไปได้ใน Java (หวังว่าจะไม่มีห้องสมุดภายนอก)?


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.