У меня есть этот код прямо здесь, который по какой-то причине возвращает NaN
, но когда я console.log
части возвращаю, он возвращает фактическое число.Я попытался Math.floor,
parseInt`, я не знаю, что делать ...
nouveauVoyage.prototype.prixGlobalParPersonne = function(){
var frais=0;
if (this.voiturePlaces == 0 && this.hotelPlaces == 0){
frais=0;
}else if(this.voiturePlaces != 0 && this.hotelPlaces != 0){
frais=40;
}else if((this.voiturePlaces != 0 && this.hotelPlaces == 0) || (this.voiturePlaces == 0 && this.hotelPlaces != 0)){
frais=20;
}
return ((this.nbrAdultes * this.prixParPersonne) + ((this.prixParPersonne * this.nbEnfants) * 0,8) + frais) / (this.nbAdultes + this.nbEnfants);
};
для получения более подробной информации вот мой конструктор
function nouveauVoyage(type,destination,nbrAdultes,nbrEnfants,prixParPersonne,prixParGroupe,placesVoitures,placesHotel){
this.id = (new Date().valueOf() + " ").substring(6, 13);
this.type = type;
this.destination = destination;
this.nbrAdultes = parseInt(nbrAdultes);
this.nbrEnfants = parseInt(nbrEnfants);
this.prixParPersonne = parseInt(prixParPersonne);
this.prixParGroupe = parseInt(prixParGroupe);
this.voiturePlaces = parseInt(placesVoitures);
this.hotelPlaces = parseInt(placesHotel);
}
и что я передаю ему
var type = $("select").first().val();
var destination = $("input:radio:checked").val();
var nbAdultes = $("input[type=number]").eq(1).val();
var nbEnfants = $("input[type=number]").eq(2).val();
var prixParPersonne = $("input[type=text]").first().val();
var prixParGroupe = $("input[type=text]").last().val()
prixParPersonne = prixParPersonne.substring(0, prixParPersonne.length-1);
prixParGroupe = prixParGroupe.substring(0, prixParGroupe.length-1);
var placesVoiture = $("input[type=number").eq(-2).val();
var placesHotel = $("input[type=number]").last().val();
var voyage = new nouveauVoyage(type,destination,nbAdultes,nbEnfants,prixParPersonne,prixParGroupe,placesVoiture,placesHotel);