-
let foo=49.36//מספר כולל שבר עשרוני
אם אני רוצה לקבל בנפרד את ה 49 ובנפרד את ה 36 אני יכול לעשות כך
foo.toString.split('.')[0]; foo.toString.split('.')[1];
השאלה שלי היא איך אני יכול לקבל את אותה התוצאה כשמדובר במספר שלילי, כגון
let foo=-49.36;
הבעיה שלי היא שלא הצלחתי להוציא את ה -
-
let foo=49.36//מספר כולל שבר עשרוני
אם אני רוצה לקבל בנפרד את ה 49 ובנפרד את ה 36 אני יכול לעשות כך
foo.toString.split('.')[0]; foo.toString.split('.')[1];
השאלה שלי היא איך אני יכול לקבל את אותה התוצאה כשמדובר במספר שלילי, כגון
let foo=-49.36;
הבעיה שלי היא שלא הצלחתי להוציא את ה -
-
@ש-ב
Math.trunc בשביל השלם,
ובשביל השבר מפחיתים את השלם שהתקבל מtrunc ומכפילים ב100 לדיוק של שני ספרות וב1000 לדיוק של ארבע ספרות וכולי.@dovid
תודה רבה לכולכם, ב"ה הסתדרתי,
לא ידעתי שכשמחלקים סטרינג באמצעות split תמיד ייווצרו 2 מחרוזות, אף במקרה שהתו לפיצול הוא התו הראשון בסטרינג, וחשבתי שאז יש לי מערך עם איבר אחד בלבד, שהוא המחרוזת המקורית למעט התו הראשון. והסיבה לכישלון שלי היא שלא הצלחתי לקבל את המספר עצמו בלי ה - ולבצע עליו מוליפולציות.
עכשיו הבנתי שגם באופן זה אקבל 2 איברים, והראשון הוא סטרינג ריק, וא"כ אני צריך לקחת את האיבר השני, ועליו לעשות מה שאני רוצה, בדיוק כמו במספר חיובי -
@ש-ב תוכל להפוך לערך מוחלט לפני המניפולציה:
foo = Math.abs(foo); foo.toString.split('.')[0]; foo.toString.split('.')[1];
עריכה: הפתרון של @dovid לקמן עדיף בעיני, כי הוא נשאר בתחום המספרים, ללא המרות נתונים.
-
@dovid
תודה רבה לכולכם, ב"ה הסתדרתי,
לא ידעתי שכשמחלקים סטרינג באמצעות split תמיד ייווצרו 2 מחרוזות, אף במקרה שהתו לפיצול הוא התו הראשון בסטרינג, וחשבתי שאז יש לי מערך עם איבר אחד בלבד, שהוא המחרוזת המקורית למעט התו הראשון. והסיבה לכישלון שלי היא שלא הצלחתי לקבל את המספר עצמו בלי ה - ולבצע עליו מוליפולציות.
עכשיו הבנתי שגם באופן זה אקבל 2 איברים, והראשון הוא סטרינג ריק, וא"כ אני צריך לקחת את האיבר השני, ועליו לעשות מה שאני רוצה, בדיוק כמו במספר חיובי -
@ש-ב אמר בעזרה בג'אווהסקריפט:
@dovid
תודה רבה לכולכם, ב"ה הסתדרתי,
לא ידעתי שכשמחלקים סטרינג באמצעות split תמיד ייווצרו 2 מחרוזות, אף במקרה שהתו לפיצול הוא התו הראשון בסטרינגכלומר מתקיים פיצול גם לחלקים ריקים,
"....".split('.').length == 5; //true
-
-
@dovid
אני מתנצל שמרוב בלבול לא הסברתי את עצמי כמו שצריך,
ניסיתי להוריד את ה - (היינו לקבל את המספר בלי ה -) באמצעותfoo.toString.split('-')[0];
ועכשיו הבנתי שהייתי צריך לעשות
foo.toString.split('-')[1];
-
@chagold אמר בעזרה בג'אווהסקריפט:
@ש-ב
let str = '-49.36'; str = str.substring(1); console.log(str);
עוד אפשרות
foo = -49.36; foo = 0 - foo;
-
-
D dovid העביר נושא זה מ-תכנות ב-