вывод числа со знаком
Как вывести число с его знаком, например что бы 5 вывело как +5
|
var i=5; alert("+"+5); |
LLIyRiK911,
Сделать строкой, типа num1 = '+'+num. Конкретней напишите, где каких целей нужно. |
есть уравнение k*x+b*y......+c*z мне его надо вывести со знакоми, но не плюсуя "+", а типо alert( k + "*x" + b + "*y" +..... + c + "*z") для отрицательный значиний минус сам ставится, а вот для положительных как?
|
Всё равно мало дали информации.
Какие значения могут принимать коэффициенты? Нулю могут быть равны? Если на выходе первый коэффициент (k) будет с '+' (т.е. '+k'), ничего страшного? |
Коэффициенты могут быть любые, если на выходе первый коэффициент (k) будет с '+' (т.е. '+k') ничего страшного, просто если было метод форматирования числа, который выводит знак этого числа было бы очень хорошо)) а так мне приходиться делать так
if (b>=0 && m>=0){ alert("Уравнения прямой: " + a + "*x+" + b + "*y+" + m + "=0"); } else if (b<0 && m>=0 ){ alert("Уравнения прямой: " + a + "*x" + b + "*y+" + m + "=0"); } else if (b>=0 && m<0){ alert("Уравнения прямой: " + a + "*x+" + b + "*y" + m + "=0"); } else { alert("Уравнения прямой: " + a + "*x" + b + "*y" + m + "=0"); |
На с++ есть флаг +, который обязательно перед числом указывает знак плюс (+) или минус (—), мне бы что нибудь такое только на скрипте
|
var a=1, b=-2, m=-3; alert( ("Уравнения прямой: " + a + "*x+" + b + "*y+" + m + "=0").replace( /\+-/g, '-' ) ); |
Несложно определить знаки
function LineEq(an) { for (var i=0; i<an.length; i++) { if (an[i]<0) { an[i] = ''+an[i] } else { an[i] = '+'+an[i] } } return (an[0]+'*x'+an[1]+'*y'+an[2]+'=0'); } alert( LineEq([2,-1,4]) ); Но, если уравнение в таком виде должно показываться пользователю, то, думаю, лучше преобразовать к нормальному (привычному) виду. |
Или даже
var a=1, b=-2, m=-3; alert( "Уравнения прямой: " + a + ("*x+" + b + "*y+" + m + "=0").replace( /\+-/g, '-' ) ); |
Часовой пояс GMT +3, время: 22:56. |