ฉันมีปัญหาในที่ทำงาน ฉันต้องการเปรียบเทียบตัวเลขสองตัวที่มาเป็นสตริงจากฐานข้อมูลที่แตกต่างกันสองตัว ตัวเลขอาจมาพร้อมกับเลขศูนย์นำหน้าและ / หรือช่องว่างนำหน้า / ต่อท้าย ดังนั้นฉันอาจมี"0001 "
จากฐานข้อมูลหนึ่งและ" 1 "
จากอีกฐานหนึ่ง
ฉันแก้ไขปัญหาใน C # ด้วยรหัสต่อไปนี้:
Func<string, string, bool> f = (a,b) => int.Parse(a.Trim()) == int.Parse(b.Trim())
ความท้าทาย
นี่เป็นความท้าทายที่ง่ายมากเหมาะสำหรับผู้เริ่มต้นและภาษาลึกลับทุกชนิด กำหนดตัวเลขสองตัวเป็นสตริงที่อาจมาพร้อมกับเลขศูนย์นำหน้าและ / หรือช่องว่างนำหน้า / ต่อท้ายให้เขียนรหัสที่สั้นที่สุดที่ตรวจสอบว่าสองสายแสดงหมายเลขเดียวกันหรือไม่
- อินพุตจะต้องมีสองสตริงหรือเทียบเท่าในภาษาของคุณ (อาร์เรย์ถ่านเป็น OK) และพวกเขามักจะเป็นตัวแทนของค่าจำนวนเต็มมากกว่าศูนย์
- ผลลัพธ์จะต้องเป็นค่าที่สอดคล้องกันสองค่าใด ๆ ที่แทนค่าจริงและค่าเท็จ
ตัวอย่าง
A B Result
----------------------------
"0001" "1 " true
"1450" "1450 " true
"0010001 " " 10001 " true
"0010000" " 10 " false
"101023" "101024" false
นี่คือรหัส - กอล์ฟดังนั้นอาจเป็นรหัสที่สั้นที่สุดสำหรับแต่ละภาษาที่ชนะ!