---
title: "Formatera tal!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/123532-formatera-tal"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Alamartimo"
published: "2005-03-01T17:42:29.000Z"
updated: "2005-03-02T09:41:26.000Z"
replies: 4
views: 328
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/123532-formatera-tal"
---

# Formatera tal!

## #1 — Alamartimo, 2005-03-01T17:42Z

Har letat men hittar inget här som jag kan använda mig av eller så fungerar det inte med det jag redan fått hjälp med här av Jawbreaker :)

Har försökt få ut värdet och med hjälp av vbscript formatera värdet men det fungerar inte.
I alla fall har jag den här koden för summering av checkboxar.

```
{
	var sum = 0;

	for ( var i = 0; i < p_form.elements.length; i++ )
	{
		if ( p_form.elements[i].type == "checkbox" && p_form.elements[i].checked )
			sum += parseFloat( p_form.elements[i].value )
	}

	document.getElementById( "totalSum" ).innerHTML = +sum;
}
```

Värdet får jag ut med 

```
<div id="totalSum"></div>
```

Som det är nu så är siffrorna ihop ex 1234567
men jag vill formatera dem så att det blir -1 234 567

Sen om det är någon som vet om det går att få ut värdet så jag kan hantera det med vbscript eller det kanske inte är möjligt??

Tackar på förhand  :)

Permalänk: https://www.webforum.nu/p/123532

## #2 — jawbreaker, 2005-03-01T20:39Z

Det finns nog en hel del varianter på det du vill göra, men jag skrev ihop en egen funktion nu, bara för att det är kul.
Den är inte direkt hårdtestad om man säger så, but here goes:

```
function formatNumber( p_num )
{
	var ret = "";

	var a = ( "" + p_num ).split( "." );
	if ( 0 < a.length )
	{
		if ( 0 < a[0].length )
		{
			var tmpStr = "";

			var p = "";
			if ( '-' == a[0].charAt(0) )
			{
				a[0] = a[0].substring( 1, a[0].length );
				p = "-";
			}

			var c = 0;
			for ( var i = a[0].length - 1; i >= 0; i-- )
			{
				if ( 0 < c && 0 == c % 3 )
					tmpStr += " ";
				tmpStr += a[0].charAt(i);
				c++;
			}

			ret = p;
			for ( var i = tmpStr.length - 1; i >= 0; i-- )
			{
				ret += tmpStr.charAt(i);
			}
		}

		if ( a[1] )
			ret += ( "." + a[1] );
	}

	return ret;
}
```

Och i din andra funktion får du då ändra

```
document.getElementById( "totalSum" ).innerHTML = sum;
```

till

```
document.getElementById( "totalSum" ).innerHTML = formatNumber( sum );
```

Permalänk: https://www.webforum.nu/p/1564400

## #3 — Alamartimo, 2005-03-02T04:14Z

Jawbreaker:

Tack för att du tar dig tid  :) 

Tja nää det funkade inte.

"undefined" står det där jag skriver ut det med 

```
<div id="totalSum"></div>
```

Permalänk: https://www.webforum.nu/p/1564483

## #4 — jawbreaker, 2005-03-02T06:47Z

Slarvfel av mig. Så går det när man inte testar det man gör...
Hur som helst har jag uppdaterat funktionen i inlägget ovan, så plocka funktionen därifrån igen.

Permalänk: https://www.webforum.nu/p/1564490

## #5 — Alamartimo, 2005-03-02T09:41Z

Jawbreaker:

Underbart  :)  det funkar..

Bugar och bockar

Permalänk: https://www.webforum.nu/p/1564541

---

Tråden på webben: https://www.webforum.nu/amne/javascript/123532-formatera-tal
