โลแคลสหรัฐอเมริกาไม่เคารพมาตรฐาน ISO (ดูเพิ่มเติมที่นี่ ):
> number = 1234567.89
< 1234567.89
> LOCALE = 'en-US'
< "en-US"
> number.toLocaleString(LOCALE)
< "1,234,567.89"
สถานที่เยอรมันไม่:
> LOCALE = 'de-DE'
> number.toLocaleString(LOCALE)
< "1.234.567,89"
มีสถานที่ต่างประเทศที่ยึดตามมาตรฐาน ISO หรือไม่
ฉันจะหารายการสถานที่ที่รองรับได้toLocaleString
ที่ไหน ( ลิงก์ )
(ทดสอบในคอนโซล Chrome)
คุณหมายถึงอะไร "สถานที่ต่างประเทศ"
—
grawity
@grawity สถานที่ซึ่งเคารพมาตรฐานสากลเกี่ยวกับการจัดรูปแบบตัวเลขโดยไม่ผูกติดกับภาษาใดภาษาหนึ่ง ฉันไม่ได้ทำการประมวลผลภาษาที่เกี่ยวข้องกับการจัดรูปแบบตัวเลขเท่านั้น มันไม่สมเหตุสมผลที่จะใช้
—
dangonfast
de-DE
แต่ดีกว่าiso-ISO
ถ้ามีอยู่
@grawity หรือเห็นเป็นอย่างอื่น: ฉันต้องการ "locale" ซึ่งเป็นไปตามมาตรฐานสากลเกี่ยวกับการจัดรูปแบบตัวเลข แต่ไม่เกี่ยวข้องกับปัญหาการแปลอื่น ๆ
—
dangonfast
toLocaleString
เป็นวิธีการสำหรับค่าตัวเลข ดังนั้นจึงจำเป็นต้องมีพารามิเตอร์ซึ่งระบุคุณสมบัติที่เกี่ยวข้องกับตัวเลขไม่ใช่คุณสมบัติภาษาอื่น
มีข้อเสนออยู่
—
tripleee
en_150
แต่ฉันไม่คิดว่ามันใช้งานได้จริงในระบบจริงใด ๆ และอาจไม่รองรับรูปแบบตัวเลขนี้ สำเนาข้ามไซต์: unix.stackexchange.com/questions/62316/…
@tripleee ที่น่าสนใจ แต่คำถามของฉันไม่เกี่ยวข้องกับคุณสมบัติภาษาเพียงเพื่อคุณสมบัติตัวเลข ฉันเริ่มคิดว่า
—
dangonfast
toLocaleString
มีการกำหนดไม่ดี: มันไม่เกี่ยวข้องกับสถานที่ตามที่กำหนดไว้ (ซึ่งเกี่ยวข้องกับตัวเองด้วยปัญหาภาษาจำนวนมาก) แต่เพียงเพื่อจัดรูปแบบตัวเลข (ส่วนย่อยของปัญหาสถานที่) ทำไมจะtoLocaleString
ต้องได้รับข้อมูลเกี่ยวกับ "ขนาดกระดาษ" เช่น? สิ่งเดียวที่มันต้องการคือคำจำกัดความของตัวแยกทศนิยม / พันและในที่สุดก็เป็นข้อกำหนดเกี่ยวกับวิธีการจัดรูปแบบสกุลเงิน