Jag är inte så duktig på matte eller special komandon, Det absolut enklaste svaret är att använda funktionen ABS(X) som ger absoluta En gammal omtvistad fråga. Abs gör helt enkel multiplikation med - 1 Njae. Absolutvärdet är absolutvärdet och det får man inte genom att multiplicera med -1.. > En gammal omtvistad fråga. Abs gör helt enkel multiplikation med - 1 Hej, Håller med om att Abs() är snyggast här men annars så föredrar i alla fall jag att skriva Abs() ska Absolut(!) användas om det är absolutvärdet man ska ha. Vill man slippa if() kan man ju skriva: > Vill man slippa if() kan man ju skriva: <b>If .. Then .. är inte snyggare, tycker jag. Det blir ju mer kod. </b>Negativa tal
Jag har ett negativt värde ex. -25 detta värde skall styra hur bred ett visst fält är men det går ju inte eftersom det är negativt, jag skulle villja konventera om -25 till 25, alltså omvandla från negativt till posetivt är det möjligt? eller finns det någon annan lösning.Sv: Negativa tal
beloppet av X alltså |X| och det betyder att den ger dig värdet på X utan tecken.
Finns matematiker härinne som kan förklara hur det funkar.
<code>
x = abs(x)
</code>
[Peter.H]Sv:Negativa tal
If x < 0 Then
x = x * -1
End If
-25 * -1 = 25Sv: Negativa tal
Här finns en definition: http://susning.nu/Absolutbelopp
mvh,
ViktigpetterSv: Negativa tal
Japp en gammal omtvistad fråga. Det finns ju massor av sätt att lösa olika uppgifter på.
x = x * -1
Fungerar. Men varför använda den när det finns en färdig funktion för det inbyggd i VB.
Använder du då
x = y ^ .5
Istället för inbyggd funktion för att lösa det problemet. ;) ;)
[Peter.H]Sv:Negativa tal
Här handlar det inte om val av funktion, utan att använda vad som fungerar...
Det korekta är att använda absolutfunktionen (ABS) så som sagts tidigare i tråden.
Att göra som SvenPon föreslår resulterar i fel när man har positiva tal. Då omvandlas +25 plötsligt till -25 och det var ju just negativa tal som skulel undvikas...
// JohanSv:Negativa tal
<code>
If x < 0 Then x = -x
</code>
än att multiplicera med -1. Snyggare kod tycker jag. Men som sagt...abs() finns ju så varför inte använda det.Sv: Negativa tal
If .. Then .. är inte snyggare, tycker jag. Det blir ju mer kod.Sv: Negativa tal
x=(x^2)^0.5
möjligen utan parantes, dock är detta nog tämligen krävande om du skall använda det ofta, ett alternativt sätt bara :)Sv:Negativa tal
> x=(x^2)^0.5
Av samma anledning som man ska använda x = Abs(x)
ska man väl isåfall använda. x = Sqr(x^2)
eller hur ;) ;)
[Peter.H]Sv:Negativa tal
Jag menade att:
<code>
If x<0 Then x=-x
</code>
är snyggare/kortare än:
<code>
If x<0 Then
x=x*-1
End If
</code>
Jag föredrar också Abs(). En annan variant är ju f ö:
<code>
x=iif(x<0,-x,x)
</code>