Faits :
A.
A.a. La société A._ S.A. (ci-après: la société ou la cliente ou la demanderesse) est active dans la fabrication, l'achat et la vente de pompes centrifuges et autres produits mécaniques, ainsi que dans l'exploitation de brevets industriels. Son administrateur délégué et CEO ( Chief Executive Officer), avec signature collective à deux (selon le registre du commerce; art. 105 al. 2 LTF), est C._ (ci-après: le CEO).
D._, née le [...] 1985, est employée de commerce au service de la comptabilité de la société (ci-après: la comptable). Le chef du service de la comptabilité de la société est E._.
A.b. La société est titulaire de plusieurs comptes bancaires auprès de la banque B._ SA, à X._ (ci-après: la banque ou la défenderesse), dont notamment un compte courant en euros sur lequel se trouvait le montant de 5'278'670,79 euros (art. 105 al. 2 LTF). Depuis de nombreuses années, F._, employé de la banque, est son chargé de relation au sein de celle-ci.
Dans les relations avec la banque, il est prévu que la société est représentée par la signature collective de deux personnes autorisées. Selon le carton de signatures au 26 septembre 2012, sont notamment autorisés à signer collectivement à deux le CEO et la comptable. Selon le relevé des autorisations d'accès à G._ de mai 2014, ceux-ci ont le pouvoir de saisir et viser les ordres de paiement collectivement à deux (art. 105 al. 2 LTF). La société n'a pas accepté que des ordres de paiement puissent être donnés par courriel, la société n'ayant pas signé le formulaire bancaire xxx permettant de tels envois.
En vertu de l'art. 1 des conditions générales de la banque (intitulé " Examen de la légitimation "), la banque est tenue de vérifier la légitimation du client et de ses mandataires avec la diligence usuelle en affaires. Si la banque, ses collaborateurs ou ses auxiliaires ne respectent pas cette obligation, le dommage qui en résulte est à la charge de la banque; si aucune de ces obligations n'a été violée, le client supporte le dommage résultant des défauts de légitimation.
A.c. Depuis près de 10 ans, la société effectuait habituellement l'ensemble de ses paiements par e-banking (G._), et non par des ordres téléphoniques ou des courriels.
A.d. Entre le 22 et le 29 juillet 2014, la société a été victime d'une escroquerie par ingénierie sociale dite " escroquerie au Président ", laquelle a été découverte le 30 juillet 2014.
En bref, alors que le CEO de la société était en voyage d'affaires aux États-Unis du mardi 22 au vendredi 25 juillet 2014 et qu'il n'est revenu à son bureau que le lundi 28 juillet 2014, des escrocs ont contacté la comptable, la première fois, le 22 juillet 2014. Se faisant passer pour un avocat lors d'un appel téléphonique et pour le CEO de la société par courriel, ils lui ont fait croire à la nécessité de collaborer avec le CEO à une opération d'envergure confidentielle et urgente, avec des sociétés chinoises, dans l'intérêt de la société. Convaincue d'être en contact avec un vrai avocat et le CEO de la société, la comptable a communiqué aux escrocs des données concernant les comptes de la société auprès de la banque et a donné suite aux instructions de ceux-ci en contactant la banque et en transmettant à celle-ci cinq ordres de paiement. L'affaire étant qualifiée de confidentielle, elle n'en a pas référé au chef du service de la comptabilité, E._, qui était présent à son poste du 23 au 25 juillet, mais absent les 28 et 29 juillet 2014.
Ainsi, le 23 juillet 2014, la comptable a pris contact avec la banque en vue d'effectuer un premier paiement. Elle a traité avec H._, employé de la banque (ci-après: l'employé), qui remplaçait le chargé de relation habituel, F._. Elle lui a présenté l'affaire comme urgente, en cherchant à savoir comment elle pourrait passer des ordres de paiement sans utiliser le système G._. L'employé lui a proposé de faire confirmer, par une deuxième personne de la société, l'ordre qu'elle donnerait par simple courriel. Il a été retenu que l'employé de la banque croyait, de bonne foi, qu'un ordre donné par courriel par une première personne (pour l'ordre de la comptable), qui le confirmait ensuite par téléphone, pouvait ensuite être confirmé par un simple courriel d'un second titulaire de la signature collective à deux (pour l'ordre du soi-disant CEO).
C'est ainsi en se basant sur l'appel téléphonique de la comptable, suivi d'un courriel qu'elle lui a adressé et qui contenait l'ordre de paiement, et le courriel séparé de confirmation d'ordre envoyé par le soi-disant CEO (i.e. l'escroc) que la banque a exécuté le premier ordre de 418'280,61 euros en débitant le compte de la société en faveur d'une société tierce auprès d'une banque en Chine (art. 105 al. 2 LTF).
Les deux ordres suivants des 25 et 29 juillet 2014, chacun pour deux montants identiques de 977'830 euros et 983'690 euros, ont été donnés en suivant le même procédé (ordre de paiement de la comptable adressé par courriel à l'employé de la banque, H._, suivi d'un courriel de confirmation d'ordre du soi-disant CEO) et ont été exécutés par la banque par le débit du compte de la société. Le second de ces ordres donné le 29 juillet 2014 par la comptable l'a été alors même que le réel CEO était de retour à son bureau.
L'employé de la banque, H._, a imprimé les trois courriels de confirmation du soi-disant CEO et les a transmis à ses deux supérieurs hiérarchiques censés les viser. Ni lui, ni ses supérieurs n'ont détecté de problèmes. Il a pourtant été retenu en procédure qu'ils auraient dû être alertés pour plusieurs raisons: l'adresse électronique du prétendu CEO ne correspondait pas à celle des personnes employées par la société et ces trois courriels contenaient des fautes d'orthographe (qu'on ne peut mettre sur le compte du caractère international de la clientèle de la banque, puisque tant la cliente que son CEO étaient suisses).
Au total, le compte de la société a été débité du montant de 4'041'537,61 euros, la banque ayant pu récupérer un montant de 299'848,86 euros qu'elle a recrédité sur le compte.
Le chef du service de la comptabilité, E._, a découvert les sorties de liquidités le 30 juillet 2014, puisqu'il était absent les 28 et 29 juillet 2014. La société a déposé plainte pénale contre inconnu pour escroquerie.
A.e. La société a réclamé à la banque le remboursement des montants indûment débités de son compte, lui reprochant de n'avoir pas respecté l'exigence de la double signature et de n'avoir pas procédé à des vérifications supplémentaires alors que les circonstances l'exigeaient. La banque a refusé de restituer les montants, estimant ne devoir assumer aucune responsabilité dans le cadre d'une fraude dont la société cliente avait été la victime.
B.
La société a ouvert une action en paiement contre la banque par requête de conciliation, puis, après l'échec de la conciliation, a déposé sa demande devant le Tribunal régional du Littoral et du Val-de-Travers le 24 mars 2015, concluant à la condamnation de la banque à lui payer le montant de 4'041'537,61 euros avec intérêts à 5 % l'an dès le 15 octobre 2014, ainsi qu'un montant correspondant à la différence de change, alléguant qu'elle aurait vendu ses euros avant l'abandon du taux plancher par la BNS.
Le tribunal civil a tenu trois audiences, entendu le CEO de la société et huit témoins. Par jugement du 31 août 2017, il a condamné la banque à payer à la cliente le montant de 3'623'257,02 euros avec intérêts à 5 % l'an dès le 16 octobre 2014. Il a admis que la demanderesse avait droit à la restitution des montants des virements litigieux, la banque ayant violé son devoir de diligence, mais il a réduit sa prétention en restitution du montant de 418'280,59 euros correspondant au premier ordre exécuté, et ce pour tenir compte des manquements imputables à la société. Il a rejeté la prétention pour différence de taux de change, le dommage n'étant pas établi.
Statuant le 14 mars 2019, la Cour d'appel civile du Tribunal cantonal du canton de Neuchâtel a admis partiellement l'appel de la banque, qui concluait à sa libération, et réformé le premier jugement en ce sens que la banque est condamnée à verser à la cliente le montant de 2'032'611,97 euros avec intérêts à 5 % l'an dès le 16 octobre 2014; elle a rejeté l'appel joint de la cliente qui reprenait son premier chef de conclusions en restitution de ses avoirs en euros avec intérêts.
Après avoir exposé les principes relatifs à l'action du client en restitution de ses avoirs (avec référence à l'<ref-ruling> consid. 2 et à l'arrêt 4A_54/2009 du 20 avril 2009 consid. 1), la cour cantonale a estimé qu'il y avait toutefois un " point de convergence entre l'action en exécution... et la responsabilité pour inexécution contractuelle ", même si la demanderesse ne s'en prévalait pas, de sorte qu'il y avait lieu d'examiner la diligence usuelle de la banque dans la vérification de la légitimation du donneur d'ordre selon la règle de l'art. 398 al. 2 CO, mais aussi selon les règles du mandat qui imposent à la société cliente, donneuse d'ordre, de respecter ses obligations contractuelles. Ainsi, elle a estimé ne pas devoir se limiter à examiner si la banque avait fait preuve de la diligence nécessaire en matière d'examen de la légitimation du donneur d'ordre et de respect de l'exigence de la double signature, mais devoir se demander aussi qui, de la banque ou de la cliente, pouvait le mieux prendre les mesures propres à éviter que les ordres de virement litigieux ne fussent donnés, puis exécutés. Les personnes morales, clientes, ont, selon elle, le devoir de surveiller les personnes dotées du pouvoir de signature.
Examinant les circonstances concrètes, la cour cantonale a retenu, d'une part, que la banque n'avait pas fait preuve de la diligence nécessaire dans la vérification de la légitimation de la cliente (exigence de la double signature) : tout d'abord, en raison de la fréquence des ordres (par rapport aux ordres habituels), de leur caractère insolite (malgré le fait que son employé ait eu un contact direct avec la comptable et qu'il ait cru que celle-ci avait un contact avec le vrai CEO), de l'importance des montants et de la dérogation à la procédure convenue entre les parties; ensuite, du fait que la cliente effectuait tous ses paiements par e-banking et non par ordres téléphoniques ou par courriels, que l'employé, alors qu'il n'était qu'un remplaçant, n'a pas vérifié le mode de faire qu'il avait proposé, qui n'avait pas été convenu entre les parties, la société cliente n'ayant pas signé le formulaire permettant la transmission d'ordres par courriel; enfin, du fait que les deux autres employés de la banque, avec un rang supérieur à celui de l'employé et chargés de viser les ordres, n'ont pas détecté de problèmes alors qu'ils l'auraient dû, vu que l'adresse électronique du prétendu CEO ne correspondait pas à celle des personnes employées par la société, que les courriels contenaient des fautes d'orthographe et que la signature ne correspondait pas à celle du vrai CEO.
D'autre part, la cour cantonale a retenu une faute de la société cliente, sa comptable (art. 101 CO) ayant eu une attitude objectivement inadéquate, même si, subjectivement, elle était mue par le respect de sa hiérarchie et le caractère gratifiant de la mission qui lui était confiée: elle a fourni les coordonnées des comptes bancaires à un avocat avec lequel elle n'avait jamais eu de contacts auparavant; elle a communiqué les soldes disponibles par courriels au prétendu CEO; elle a pris contact avec l'employé de la banque pour savoir comment passer un ordre sans utiliser le système G._; elle a traité une opération avec le CEO alors qu'elle ne traitait habituellement pas directement de dossiers avec lui et a prêté sa collaboration à une opération de grande envergure; elle n'a pas suspecté ces courriels malgré leur forme, leurs fautes d'orthographe, leurs phrases insolites et le fait qu'il lui était demandé des choses très différentes de ce qui lui était demandé habituellement; elle n'a pas suspecté que la confidentialité qui lui était demandée était démesurée, ni le fait qu'elle devait communiquer chaque heure avec le prétendu avocat; elle n'a pas pris la peine de procéder à des vérifications auprès de ses supérieurs, surtout auprès du CEO lui-même après son retour le 28 juillet 2014; elle n'a même pas trouvé suspect qu'elle ne devait pas lui adresser de copie des ordres donnés, ni qu'elle n'avait pas reçu de lui des copies des trois courriels de confirmation qu'il avait adressés à la banque.
Comparant les fautes respectives des parties, la cour cantonale a considéré que, pour les trois premiers ordres des 23 et 25 juillet 2014, la faute de la banque était prépondérante (admettant ainsi une responsabilité de 60 % pour la banque et de 40 % pour la cliente) et que, pour les deux derniers du 29 juillet 2014, la faute de la cliente était prépondérante (admettant ainsi une responsabilité de 40 % de la banque et de 60 % de la cliente), ce qui a abouti à la répartition du dommage à raison de 2'032'611,47 euros à charge de la banque et de 2'008'925,63 euros à charge de la cliente. Pour les deux derniers ordres, la cour cantonale a retenu deux circonstances qui auraient dû inciter la comptable à agir différemment: elle aurait dû trouver suspects le fait qu'elle ne devait pas comptabiliser les ordres immédiatement et le fait que le nouvel ordre du 29 juillet 2014 concerne deux montants identiques à celui du 25 juillet 2014.
C.
Contre cet arrêt qui leur a été notifié le 15 mars 2019, les deux parties ont interjeté un recours en matière civile au Tribunal fédéral, la demanderesse le 10 avril 2019 et la défenderesse le 29 avril 2019.
C.a. La cliente demanderesse et recourante conclut à sa réforme en ce sens que la banque soit condamnée à lui payer 4'041'537,61 euros avec intérêts à 5 % l'an dès le 15 octobre 2014. Elle se plaint d'arbitraire dans la constatation des faits et invoque la violation des art. 68 ss, 97 ss CO, ainsi que la violation de la maxime des débats (art. 55 al. 1 CPC) et la violation de son pouvoir d'appréciation par la cour d'appel.
En bref, elle estime que la banque a procédé à des virements indus puisqu'elle n'a pas respecté l'exigence de la double signature, qu'en outre elle a violé son devoir de diligence, ignorant tous les indices de fraude patents, de sorte que son action en exécution doit être admise à concurrence de l'entier du dommage de 4'041'537,61 euros avec intérêts. En ce qui concerne la créance en dommages-intérêts invoquée par la banque en compensation, elle estime que ni elle-même, ni sa comptable n'ont violé leurs obligations contractuelles, que la banque n'a pas allégué, voire allégué en temps utile, avoir subi un dommage, ni allégué quelles obligations contractuelles elle, sa cliente, aurait violé, ni soutenu que sa créance pouvait être opposée en compensation. Elle reproche à la cour cantonale d'avoir violé le droit fédéral dans son appréciation des " fautes " respectives des parties, ainsi que son pouvoir de cognition dans le partage des responsabilités entre celles-ci. Enfin, elle critique l'attribution des dépens du premier jugement.
C.b. La banque défenderesse et recourante conclut à la réforme de l'arrêt attaqué en ce sens que la demande de la cliente soit rejetée.
En bref, elle estime que la cliente demanderesse est exclusivement responsable et qu'elle-même peut lui opposer en compensation sa créance en dommages-intérêts pour l'entier de son dommage. Elle estime que les virements effectués aux escrocs constituent son dommage, qu'elle n'avait pas à alléguer, et qu'elle peut s'opposer à la prétention en restitution de sa cliente en soutenant que celle-ci lui a causé ce dommage. Elle n'avait donc qu'à alléguer les faits relatifs à la violation du devoir de diligence de sa cliente, celle-ci ayant commis une faute grave que la cour cantonale a admise. Puis, s'agissant de son éventuelle faute concomitante, que principalement elle nie, elle soutient subsidiairement que celle-ci ne serait que légère et impliquerait une réduction en fonction des fautes respectives des parties. Elle reproche à la cour cantonale de lui avoir reproché un manque de diligence fautif (art. 398 al. 2 CO); subsidiairement, pour le cas où sa faute serait jugée grave, elle lui reproche une mauvaise appréciation du poids respectif des fautes.
C.c. Chaque partie a répondu au recours de l'autre.
La cour cantonale se réfère à son arrêt.

Considérant en droit :
1.
Interjetés en temps utile (art. 100 al. 1 et 46 al. 1 let. a LTF), par la banque qui a succombé dans ses conclusions libératoires et la cliente qui a succombé partiellement dans ses conclusions en paiement (art. 76 al. 1 LTF), et dirigé contre une décision finale (art. 90 LTF) prise sur appel de la banque et appel joint de la cliente, par le tribunal supérieur du canton de Neuchâtel (art. 75 LTF), dans une contestation civile dont la valeur litigieuse dépasse très largement 30'000 fr. (art. 72 al. 1 et 74 al. 1 let. b LTF), le recours en matière civile est recevable au regard de ces dispositions.
2.
2.1. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF). Il ne peut s'en écarter que si ces faits ont été établis de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 4.1.2 p. 62; <ref-ruling> consid. 5.1 p. 356) - ou en violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF), et si la correction du vice est susceptible d'influer sur le sort de la cause (art. 97 al. 1 LTF).
Concernant l'appréciation des preuves, le Tribunal fédéral n'intervient, du chef de l'art. 9 Cst., que si le juge du fait n'a manifestement pas compris le sens et la portée d'un moyen de preuve, a omis sans raisons objectives de tenir compte des preuves pertinentes ou a effectué, sur la base des éléments recueillis, des déductions insoutenables (<ref-ruling> consid. 4.2 p. 234; <ref-ruling> consid. 4.2 p. 560; <ref-ruling> consid. 4.3 p. 62; <ref-ruling> consid. 1.4.3 p. 254; <ref-ruling> consid. 2.1 p. 9).
La critique de l'état de fait retenu est soumise au principe strict de l'allégation énoncé par l'art. 106 al. 2 LTF (<ref-ruling> consid. 2.3 p. 266 et les références). La partie qui entend attaquer les faits constatés par l'autorité précédente doit expliquer clairement et de manière circonstanciée en quoi ces conditions seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18 et les références). Si la critique ne satisfait pas à ces exigences, les allégations relatives à un état de fait qui s'écarterait de celui de la décision attaquée ne pourront pas être prises en considération (<ref-ruling> consid. 1.3.1 p. 18). Les critiques de nature appellatoire sont irrecevables (<ref-ruling> consid. 1.3 p. 261 s.).
2.2. Sous réserve de la violation des droits constitutionnels (art. 106 al. 2 LTF), le Tribunal fédéral applique le droit d'office (art. 106 al. 1 LTF). Il n'est toutefois lié ni par les motifs invoqués par les parties, ni par l'argumentation juridique retenue par l'autorité cantonale; il peut donc admettre le recours pour d'autres motifs que ceux invoqués par le recourant, comme il peut le rejeter en opérant une substitution de motifs (<ref-ruling> consid. 1.4 p. 400 et l'arrêt cité).
3.
3.1. Lorsque le demandeur allègue que des versements ou virements ont été exécutés par la banque en dépit du défaut de légitimation du donneur d'ordre ou à la suite de faux non décelés, le juge doit examiner qui, du client ou de la banque, doit supporter le dommage qui en résulte, en procédant en trois étapes.
Dans une première étape, sur l'action principale du client en restitution de son avoir non amputé des prélèvements indus (art. 107 al. 1 CO), le juge doit examiner si les prélèvements ont été exécutés sur mandat ou sans mandat du client, ce qui présuppose, en cas de représentation du titulaire du compte, de se poser la question des pouvoirs du représentant, respectivement de la ratification des prélèvements par le titulaire.
Ce n'est que si les ordres ont été exécutés sans mandat du client que le juge doit examiner, dans une deuxième étape, si le dommage est un dommage de la banque (système légal) ou si, en raison de la conclusion d'une clause de transfert de risque ( Risikotransferklausel), le dommage est à la charge du client.
Ce n'est enfin que lorsque le dommage est subi par la banque, conformément au système légal, que le juge peut encore devoir examiner, dans une troisième étape, si celle-ci peut opposer en compensation à l'action en restitution de son client une prétention en dommages-intérêts pour avoir fautivement contribué à causer ou à aggraver le dommage en violant ses propres obligations (art. 97 al. 1 CO; arrêt 4A_504/2018 du 10 décembre 2019 consid. 2, destiné à la publication, et les arrêts cités).
3.2. Dans le système légal, le défaut de légitimation et les faux non décelés font partie des risques inhérents à l'activité bancaire, au même titre que l'insolvabilité du client (GUGGENHEIM/GUGGENHEIM, Les contrats de la pratique bancaire suisse, 5e éd., 2014, no 354). Le client dispose d'une action en restitution de ses avoirs (sauf clause de transfert de risque), qui est une action en exécution du contrat ( Erfüllungsklage; art. 107 al. 1 CO; TERCIER/PICHONNAZ, Le droit des obligations, 6e éd., 2019, no 1230 ss), laquelle n'est pas subordonnée à l'existence d'une faute de la banque. Il ne s'agit pas d'une action en responsabilité pour inexécution contractuelle intentée par le client, laquelle serait subordonnée à l'existence d'une faute de la banque (art. 398 al. 2 et 97 al. 1 CO); il en découle que la banque ne peut pas opposer à l'action en restitution du client une prétention en réduction pour faute concomitante de celui-ci au sens de l'art. 44 al. 1 CO (arrêt 4A_504/2018 précité consid. 3.1.2, destiné à la publication; <ref-ruling> consid. 2 p. 452; <ref-ruling> consid. 3a p. 454; <ref-ruling> consid. 1a p. 265; arrêts 4A_379/2016 du 15 juin 2017 consid. 3.2.2; 4A_258/2012 du 8 avril 2013 consid. 7.1, résumé in SZIER 2013 p. 454; 4A_536/2008 du 10 février 2009 consid. 5.2; 4A_438/2007 du 29 janvier 2008 consid. 5.1; 4C.315/2005 du 2 mai 2006 consid. 3.2). Il ne faut donc pas confondre l'action en restitution en cas de versements ou de virements exécutés sans mandat du client, à la suite de défauts de légitimation ou de faux non décelés (art. 107 al. 1 CO), avec la responsabilité de la banque pour violation de son devoir de diligence selon l'art. 398 al. 2 CO.
Le client ne dispose d'une action en responsabilité contre la banque (art. 398 al. 2 CO) que lorsque celle-ci viole fautivement son devoir de diligence, par exemple en n'exécutant pas correctement l'ordre donné, notamment lorsqu'elle se trompe, lors de son exécution, dans la personne du destinataire ou le numéro de compte indiqués par le client (<ref-ruling> consid. 3b/aa p. 22). De même, la banque engage sa responsabilité lorsqu'elle viole ses obligations de diligence et de fidélité dans le cadre d'opérations boursières (<ref-ruling> consid. 7.1 p. 102; arrêt 4A_54/2017 du 29 janvier 2018 consid. 5.1.1).
4.
Dans une première étape, il faut donc examiner si les virements ont été exécutés par la banque sur ordre (avec mandat) ou sans ordre (sans mandat) de la cliente.
4.1. L'argent figurant sur le compte bancaire ouvert au nom du client est la propriété de la banque, envers laquelle le client n'a qu'une créance en restitution.
Lorsque la banque vire de l'argent depuis ce compte à un tiers sur ordre (avec mandat) du client, elle acquiert une créance en remboursement contre celui-ci (art. 402 CO). A l'action en restitution du client, la banque peut donc opposer en compensation une créance en remboursement (arrêts 4A_504/2018 précité consid. 3.1.1, destiné à la publication; 4A_119/2018 du 7 janvier 2019 consid. 5.2; 4A_379/2016 précité consid. 3.2.1).
En revanche, lorsque la banque vire de l'argent depuis ce compte à un tiers sans ordre (sans mandat) du client, elle n'acquiert pas de créance en remboursement. A l'action en restitution du client, la banque ne peut donc pas opposer en compensation une créance en remboursement; elle doit contre-passer l'écriture et l'art. 402 CO n'entre pas en considération ( arrêts 4A_504/2018 précité 3.1.2, destiné à la publication; 4A_379/2016 précité consid. 3.2.2; 4A_438/2007 précité consid. 5.1).
4.2. Savoir si les virements ont été exécutés sur mandat ou sans mandat du client (titulaire du compte) présuppose, si le client est une personne morale, comme une société anonyme, de se poser la question des pouvoirs de représentation des personnes physiques habilitées à représenter celle-ci.
4.2.1. En premier lieu, la SA est représentée à l'égard des tiers par ses organes (art. 718 CO). En deuxième lieu, elle peut être représentée par des fondés de procuration et d'autres mandataires commerciaux (art. 721 CO), nommés par le conseil d'administration, mais qui n'ont pas la qualité d'organes. Enfin, en troisième lieu, elle peut être représentée par des personnes auxquelles a été conférée la qualité de représentants civils au sens des art. 32 ss CO (<ref-ruling> consid. 5 et 7 pp. 41-43 et 45 s.).
L 'administrateur qui, en vertu des statuts ou du règlement d'organisation de la SA, ne dispose que de la signature collective à deux, ne peut engager la SA par sa seule signature (art. 718 al. 1 2e phr. CO), à moins qu'un pouvoir de représentation civile (art. 32 ss CO) pour une affaire déterminée ne lui ait été conféré (arrêt 4A_271/2009 du 3 août 2009 consid. 2.3; pour le gérant d'une Sàrl, cf. arrêt 4A_187/2018 du 21 février 2019 consid. 3.1.1.1).
De même, le représentant civil (art. 32 ss CO) qui ne dispose que de la signature collective à deux ne peut pas engager la SA par sa seule signature (cf. <ref-ruling> consid. 7 p. 45 s.). S'il agit seul, la SA n'est pas liée.
4.2.2. Dans les relations avec les banques, les pouvoirs des organes de la SA et les pouvoirs octroyés par celle-ci à des représentants civils sont habituellement consignés sur une formule de procuration préimprimée, rédigée par la banque, signée par les organes de la SA et remise à la banque. La procuration bancaire est soumise aux règles générales des art. 32 ss CO, soit en particulier aux règles des art. 32 al. 1 (en relation avec l'art. 33 al. 2 CO) et 33 al. 3 CO (arrêt 4A_504/2018 précité consid. 3.2.4, destiné à la publication).
Cette procuration bancaire contient la signature des personnes autorisées (GUGGENHEIM/GUGGENHEIM, op. cit., no 1565). La signature vaut comme légitimation de ces personnes, qualifiées, en matière bancaire, de " fondés de procuration " (GUGGENHEIM/GUGGENHEIM, op. cit., no 1565). Lorsque la banque reçoit une instruction écrite, comme un ordre de virement (<ref-ruling> consid. 3a/aa p. 21 s.; <ref-ruling> consid. 1 p. 265), d'une personne qui agit en tant que " fondé de procuration ", elle doit être en mesure de vérifier au moyen du document contenant la signature si cette instruction émane bien de la personne désignée par le titulaire du compte, en comparant la signature figurant sur la procuration avec la signature apposée sur l'instruction (GUGGENHEIM/GUGGENHEIM, op. cit., no 1567). La remise de cette procuration à la banque constitue une communication au tiers au sens de l'art. 33 al. 3 CO.
Les parties peuvent également prévoir l'utilisation d'une plateforme électronique (e-banking), laquelle présuppose que le représentant dispose d'un mot de passe. L'utilisation de ce système peut également être subordonnée à l'exigence d'une représentation collective à deux, notamment.
Les parties peuvent aussi convenir d'habiliter le client à transmettre des ordres par courriel. Par nature, un tel message ne permet pas une vérification de son authenticité et de l'intégrité de son contenu (arrêt 4A_9/2020 du 9 juillet 2020 consid. 6.2.1.2, destiné à la publication; cf. BRACHER, Legitimationsprüfung und Risikotransfer bei E-Mail-Zahlungsaufträgen, in SZW 2018, p. 156 ss, pp. 158-159 et les références).
4.3. La cour cantonale a qualifié la relation nouée par les parties de contrat de giro bancaire avec convention de compte courant, soumise aux règles du mandat (<ref-ruling> consid. 3a/aa p. 21 s.). Il n'y a pas lieu d'examiner plus avant cette qualification, dès lors que, selon la jurisprudence, il suffit qu'un compte soit ouvert auprès de la banque pour que le client acquière une créance en restitution de son avoir.
4.3.1. Il ressort des faits constatés dans l'arrêt attaqué que la comptable a le pouvoir de signer et viser collectivement les ordres de paiement et que le CEO dispose du même pouvoir, la société alléguant elle-même que les deux précités étaient autorisés à signer collectivement à deux pour la représenter dans les relations d'affaires avec la banque.
La comptable a été victime d'une " escroquerie au Président ". Convaincue d'être en contact avec le CEO de la société et un avocat, elle a pris contact par téléphone avec la banque et discuté avec un employé de celle-ci, qui remplaçait le chargé de relation habituel. Cet employé ne connaissait pas les habitudes de paiement de la société. La comptable lui a présenté la situation comme urgente: elle cherchait à savoir comment passer des ordres de paiement sans utiliser le système G._. C'est cet employé qui lui a proposé le procédé suivant: elle, la comptable, lui adresserait un ordre par courriel et le CEO lui confirmerait cet ordre par simple courriel. Un tel mode de paiement n'avait pas été convenu entre la société et la banque.
C'est ainsi en se basant sur un appel téléphonique de la comptable du 23 juillet 2014, suivi d'un courriel de celle-ci contenant un ordre de paiement, lequel a été suivi d'un courriel séparé confirmant cet ordre, qui n'émanait pas du vrai CEO mais d'un escroc, que le premier virement a été exécuté par la banque. Les deux ordres des 25 juillet 2014 et 29 juillet 2014 ont également été donnés par un courriel de la comptable, contenant les informations nécessaires aux transferts, et par un courriel séparé de confirmation du soi-disant CEO.
4.3.2. On se trouve donc en présence d'ordres de paiement exécutés en violation du mode de procéder convenu (ordres par signature collective à deux ou saisis et visés collectivement à deux par G._) entre la société et la banque. En tant qu'elle soutient que la signature du formulaire pour la transmission d'ordres par courriel n'était pas nécessaire, vu que l'art. 4 des conditions générales n'exclut pas, de façon générale, l'utilisation du courrier électronique, la banque recourante se limite à des critiques appellatoires, sans démonstration de l'arbitraire de l'appréciation de la cour cantonale, et donc irrecevables.
La comptable ne pouvait pas à elle seule engager la société, puisqu'elle ne disposait que d'un pouvoir collectif à deux. Les courriels de confirmation ont été envoyés par le soi-disant CEO et n'ont été ni précédés, ni suivis d'une conversation téléphonique avec le vrai CEO. On se trouve donc bien en présence de trois ordres de paiement exécutés sans mandat de la société cliente. Il n'est donc pas nécessaire de s'interroger sur la question de la forme que doivent revêtir les signatures des personnes autorisées. En conséquence, la cliente dispose bien d'une action en restitution contre la banque, qui ne peut lui opposer de prétentions en remboursement au sens de l'art. 402 CO.
4.3.3. Dans cette première étape, une faute de la banque n'entre pas en considération. C'est donc à tort que la cour cantonale a admis une convergence de l'action en restitution et de l'action en responsabilité contre la banque (art. 398 al. 2 CO).
5.
Dans une deuxième étape, il faut examiner si le dommage occasionné par les ordres de virement exécutés sans mandat est à la charge de la banque (système légal) ou, si, en raison de la conclusion d'une clause de transfert de risque, il est à la charge du client.
5.1. Dans le système légal, le dommage découlant du paiement exécuté sans mandat par la banque est un dommage de celle-ci, non du client (<ref-ruling> consid. 2 p. 452; arrêt 4A_504/2018 précité consid. 2). En effet, comme on l'a vu, le défaut de légitimation ou l'existence de faux non décelés font partie des risques inhérents à l'activité bancaire, au même titre que l'insolvabilité du client, incombant naturellement à la banque (cf. consid. 3.2 ci-dessus). La banque subit un dommage car, ayant payé à un non-créancier, elle est tenue de payer une seconde fois le montant, au client, conformément aux principes généraux applicables en matière d'exécution des obligations (art. 68 ss CO; ATF <ref-ruling> consid. 3a p. 454).
5.2. Les parties peuvent toutefois déroger à la réglementation légale du risque de défaut de légitimation ou de faux non décelés, en adoptant une clause de transfert de risque ( Risikotransferklausel; <ref-ruling> consid. 2 p. 452; <ref-ruling> consid. 3a pp. 454-456; arrêts 4A_379/2016 précité consid. 3.3; 4A_54/2009 précité, consid. 1; 4A_438/2007 précité consid. 5.1; 4C.315/2005 précité consid. 4-6; 4C.357/2000 du 8 mai 2001 consid. 3, in SJ 2001 I p. 583).
Ainsi, il est fréquent que les conditions générales des banques, auxquelles le client adhère, comportent une telle clause, laquelle prévoit, généralement, que le dommage résultant de défauts de légitimation ou de faux non décelés est à la charge du client, sauf en cas de faute grave de la banque (GUGGENHEIM/GUGGENHEIM, op. cit., no 339). Par l'effet de cette clause, le risque normalement supporté par la banque est ainsi reporté sur le client (<ref-ruling> consid. 2 p. 452; <ref-ruling> consid. 4a p. 32; <ref-ruling> consid. 3a p. 454; arrêts 4A_9/2020 précité consid. 6.1; 4A_161/2020 du 6 juillet 2020 consid. 5.1.1; 4A_379/2016 précité consid. 3.3; 4A_119/2018 du 7 janvier 2019 consid. 3.1; pour des critiques au sujet de cette clause de transfert de risque, cf. GAUCH, Die Vertragshaftung der Banken und ihre AVB, recht 2006, p. 77 ss, p. 79; BUCHER, Wie lange noch Belastung des Kunden mit den Fälschungsrisiken im Bankenverkehr?, recht 1997, p. 41 ss, pp. 42-43).
5.3. En l'espèce, en vertu de l'art. 1 des conditions générales de la banque (intitulé " Examen de la légitimation "), celle-ci est tenue de vérifier la légitimation du client et de ses mandataires avec la diligence usuelle en affaires et supporte le dommage qui résulte d'un tel défaut si elle, ses collaborateurs ou ses auxiliaires ne respectent pas cette obligation.
Par cette clause, comme l'a retenu la cour cantonale, les parties n'ont pas convenu d'une clause de transfert de risque sur la tête du client. La banque recourante ne le conteste pas. C'est donc la banque qui subit le dommage.
6.
Dans une troisième étape enfin, puisque le système légal est applicable, faute de dérogation par clause de transfert de risque (cf. consid. 5 ci-dessus), il faut examiner si la banque dispose d'une prétention en dommages-intérêts contre la cliente qu'elle pourrait opposer en compensation à la créance en restitution de celle-ci.
6.1. Selon la jurisprudence, la banque qui subit le dommage du fait de l'exécution d'un paiement sans mandat peut tout au plus demander des dommages-intérêts à son client si celui-ci a fautivement contribué à causer ou à aggraver le dommage qu'elle a ainsi subi (art. 97 al. 1 et/ou art. 41 al. 1 CO; ATF <ref-ruling> consid. 1c et 2a pp. 265-267; arrêt 4A_119/2018 précité consid. 5.2; 4A_379/2016 précité consid. 3.2.2; 4A_258/2012 précité consid. 7.1; 4A_54/2009 précité consid. 1; 4A_438/2007 précité consid. 5.1). Il s'agit là d'une " action " en responsabilité de la banque contre son client, fondée principalement sur l'art. 97 al. 1 CO, que la banque oppose en compensation à l'action en restitution de l'avoir en compte introduite par le client (arrêts 4A_504/2018 précité consid. 5.1, destiné à la publication; 4A_119/2018 et 4A_379/2016 précités loc. cit.).
6.2. La responsabilité de l'art. 97 al. 1 CO, qui repose ici sur le rapport juridique noué entre les parties, est soumise à quatre conditions: la violation du contrat, le dommage, le rapport de causalité (naturelle et adéquate) entre la violation contractuelle et le dommage, ainsi que la faute.
Il faut donc que le client viole ses obligations contractuelles (première condition). Tel est notamment le cas lorsque le client ou les auxiliaires dont le comportement lui est imputable (art. 101 CO) ont, d'une manière ou d'une autre, contribué à causer le dommage parce qu'ils ont incité la banque à procéder au transfert indu ou parce qu'ils ont contribué à aggraver le dommage (arrêt 4A_504/2018 précité consid. 5.1, destiné à la publication, et les arrêts cités).
Le dommage (deuxième condition) que la banque subit dans le système légal correspond au montant que celle-ci doit payer une seconde fois au client, en raison du transfert qu'elle a exécuté sans mandat de celui-ci (cf. consid. 5.1 ci-dessus).
Le non-respect de ses obligations contractuelles par le client doit causer le dommage ou en entraîner l'aggravation (troisième condition).
Enfin, la violation par le client (ou ses auxiliaires) de ses obligations contractuelles est présumée fautive (quatrième condition).
6.3. Dans le cadre de l'examen de cette prétention en dommages-intérêts de la banque, opposable en compensation, le juge devra encore examiner la faute de la banque (qui ne jouait pas de rôle dans les deux premières étapes; cf. consid. 3.2 ci-dessus), au titre de sa faute concomitante, soit comme facteur d'interruption du rapport de causalité adéquate, soit comme facteur de réduction de l'indemnité qui lui serait due.
6.3.1. Selon la jurisprudence rendue en matière de responsabilité délictuelle, applicable à la responsabilité contractuelle par le renvoi de l'art. 99 al. 3 CO, le comportement du lésé ne peut, normalement, interrompre le rapport de causalité adéquate entre le dommage et le comportement de l'auteur, même si la faute du lésé est plus importante que celle de l'auteur du dommage. Même si d'autres causes apparaissent à côté de la cause originelle et la font passer à l'arrière-plan, celle-ci reste dans un rapport de causalité adéquate, du moins aussi longtemps qu'elle peut être considérée comme significative dans le cours des événements et qu'il n'existe pas d'autre cause s'écartant du cours normal des choses ou absurde au point que l'on ne pouvait compter avec sa survenance. C'est l'intensité des deux rapports de causalité qui est déterminante. Si l'un d'eux s'impose, après examen, avec une telle intensité qu'il écarte pour ainsi dire l'autre et lui enlève toute signification apparente, on admet alors qu'il y a rupture de cet autre lien (<ref-ruling> consid. 5.4 p. 188; <ref-ruling> consid. 4b p. 524; WERRO, La responsabilité civile, 3e éd., 2017, no 275).
Autrement dit, dans l'examen de cette prétention en dommages-intérêts de la banque, la faute concomitante de celle-ci ne libère le client qui a fautivement violé ses obligations contractuelles que si cette faute est si grave qu'elle fait apparaître comme lointaines et juridiquement sans importance les violations contractuelles du client ayant contribué au dommage.
6.3.2. La faute concomitante du lésé constitue un facteur de réduction de l'indemnité (art. 44 al. 1 CO, par renvoi de l'art. 99 al. 3 CO) lorsqu'elle n'est pas grave au point d'interrompre le lien de causalité adéquate, mais qu'elle a contribué dans une mesure importante à créer ou à aggraver le dommage alors que l'on aurait pu attendre raisonnablement de tout tiers se trouvant dans la même situation qu'il prenne des mesures de précaution, susceptibles d'écarter ou de réduire le dommage (arrêt 4A_124/2007 du 23 novembre 2007 consid. 5.4.1). La réduction se mesure en tenant compte de la gravité de la faute concomitante du lésé ou de ses auxiliaires (art. 101 CO) (<ref-ruling> consid. 5.2 p. 600 s.) par rapport à la faute de l'auteur.
Autrement dit, dans l'examen de la prétention en dommages-intérêts de la banque, il s'agit d'apprécier la gravité de la faute concomitante de la banque et de ses auxiliaires (art. 101 CO) par rapport à la faute du client.
6.3.3. En ce qui concerne la vérification par la banque de l'authenticité des ordres de paiement ou de virement qui lui sont adressés, il est admis que celle-ci doit procéder selon les modalités convenues entre les parties ou, le cas échéant, spécifiées par la loi.
6.3.3.1. Comme on l'a vu, les pouvoirs des organes de la SA et les pouvoirs octroyés par celle-ci à des représentants civils (art. 32 ss CO) sont habituellement consignés sur une formule de procuration préimprimée. Lorsque cette procuration bancaire prévoit la signature collective à deux, l'ordre de paiement n'est valable que s'il est donné par deux personnes autorisées (cf. consid. 4.2.1 ci-dessus).
6.3.3.2. En matière de vérification des signatures, il est admis que la banque n'a pas à prendre de mesures extraordinaires, incompatibles avec une liquidation rapide des opérations, et elle n'a pas à systématiquement présumer l'existence d'un faux (ATF <ref-ruling> consid. 2b p. 268; cf. également ATF <ref-ruling> consid. 4a/aa p. 32; arrêt 4A_438/2007 précité consid. 5.3). Elle ne doit procéder à des vérifications supplémentaires que s'il existe des indices sérieux d'une falsification, si l'ordre ne porte pas sur une opération prévue par le contrat ni habituellement demandée ou encore si des circonstances particulières suscitent le doute (<ref-ruling> consid. 2 p. 453; <ref-ruling> consid. 2a p. 461 s.; arrêts 4A_386/2016 du 5 décembre 2016 consid. 2.2.6; 4A_230/2008 du 27 mars 2009 consid. 4.1.2; 4A_438/2007 précité consid. 5.3). La jurisprudence a notamment retenu une faute grave de la banque lorsque deux ordres, qui étaient supposés émaner de personnes différentes, présentaient les mêmes fautes d'orthographe et portaient des signatures présentant des différences par rapport aux signatures de référence déposées à la banque, différences décelables au premier coup d'oeil (arrêt 4A_438/2007 précité consid. 5.5).
6.3.3.3. De même, lorsque les parties sont convenues d'habiliter le client à transmettre des ordres par courriel, la banque n'a pas à prendre de mesures extraordinaires, incompatibles avec une liquidation rapide des opérations, et elle n'a pas à systématiquement présumer que le courriel qui lui est communiqué depuis l'adresse électronique du client ne provient pas de celui-ci. Il n'y a de faute grave de la banque que si l'examen auquel elle procède, nécessairement rapidement pour ce type d'opérations bancaires, fait apparaître des indices sérieux d'une usurpation d'adresse et donc d'identité. Tel serait le cas s'il devait sauter aux yeux de toute personne raisonnable que l'ordre transmis, de par son texte, son contenu ou un lieu de virement exotique et compte tenu de la situation du client, ne pouvait émaner de celui-ci (arrêt 4A_9/2020 précité consid. 6.2.1.2, destiné à la publication).
6.4. En l'espèce, même si l'on devait retenir que la cliente a violé ses obligations contractuelles du fait que sa comptable a incité l'employé de la banque à s'écarter du système de représentation convenu, à savoir de l'exigence d'une signature collective à deux, au motif que l'affaire était confidentielle et urgente, force est de constater que les fautes concomitantes de la banque et de ses auxiliaires ont interrompu le rapport de causalité adéquate entre cette violation et le dommage.
Alors que les parties étaient convenues d'une représentation par signature collective à deux et de l'utilisation du système de transmission électronique G._, qui impliquait également que les ordres de paiement soient donnés par deux personnes autorisées, et qu'elles n'avaient pas prévu que des ordres puissent être donnés par courriel, l'employé de la banque a proposé à la jeune comptable de procéder par courriel, soit sans signatures manuscrites, et de surcroît n'a eu une confirmation par contact direct téléphonique qu'avec une seule personne autorisée, en violation de l'exigence de la signature collective à deux. Cette faute de l'employé de la banque, imputable à celle-ci, interrompt déjà à elle seule le rapport de causalité adéquate.
De surcroît, comme la cour cantonale l'a retenu, le premier courriel du soi-disant CEO du 23 juillet 2014, comme les deux suivants des 25 et 29 juillet 2014, étaient manifestement suspects: l'adresse électronique du prétendu CEO (yyy) ne correspondait pas à celle des personnes employées par la société et ces trois courriels contenaient des fautes d'orthographe - et de syntaxe - alors que la société et son CEO sont suisses.
Alors que la société effectuait tous ses paiements par G._, et non par ordre téléphonique ou par courriel, le premier ordre de paiement était déjà de ce fait inhabituel et insolite (malgré le fait que l'employé de la banque ait eu un contact direct avec la comptable). Il l'était également par son montant (par rapport aux ordres habituels).
Quant aux deux ordres suivants, ils l'étaient également en raison de leur " fréquence ", intervenant deux jours après le premier, puis un jour (sans compter le week-end) après le second, en raison de l'importance de leurs montants et du fait que les deux ordres portaient sur des montants identiques.
Dans ces circonstances, les fautes que la cour cantonale a imputées à la comptable et, partant, à la société cliente (art. 101 CO), apparaissent comme lointaines dans la chaîne des causes ayant entraîné le dommage, même si, sans elles, il n'y aurait pas eu d'escroquerie. Les griefs soulevés par la banque recourante ne changent rien à cette appréciation.
6.5. Il s'ensuit que la banque ne peut faire supporter à la société cliente le dommage qu'elle subit, en faisant valoir contre celle-ci, en compensation, une prétention en dommages-intérêts au sens de l'art. 97 al. 1 CO. C'est à tort que la cour cantonale a pondéré les fautes respectives de la banque et de la cliente, ou, plus précisément, de l'employé de la banque (et ses supérieurs) et de la comptable.
7. En conséquence, le recours de la banque doit être rejeté, le recours de la société cliente admis et l'arrêt attaqué réformé en ce sens que la demande est admise et la banque défenderesse condamnée à payer à la cliente le montant de 4'041'537,61 euros. La cour cantonale ayant fait partir le cours des intérêts à 5 % l'an de la date du 16 octobre 2014, il n'y a pas lieu, faute de grief, de prendre en considération la date du 15 octobre 2014 figurant dans les conclusions de la société cliente.
Les frais de la procédure fédérale, arrêtés à 35'000 fr., sont mis à la charge de la banque. La banque versera à la cliente un montant de 40'000 fr. à titre de dépens. La cause sera renvoyée à la cour cantonale pour nouvelle décision sur les frais et dépens des instances cantonales.

Par ces motifs, le Tribunal fédéral prononce :
1.
Les causes 4A_178/2019 et 4A_192/2019 sont jointes.
2.
Le recours de B._ SA est rejeté.
3.
Le recours de A._ SA est admis et l'arrêt attaqué est réformé en ce sens que B._ SA est condamnée à payer à A._ SA le montant de 4'041'537,61 euros avec intérêts à 5 % l'an dès le 16 octobre 2014.
4.
La cause est renvoyée à la cour cantonale pour nouvelle décision sur les frais et dépens de la procédure cantonale.
5.
Les frais de la procédure fédérale, arrêtés à 35'000 fr., sont mis à la charge de B._ SA.
6.
B._ SA versera à A._ SA une indemnité de 40'000 fr. à titre de dépens pour la procédure fédérale.
7.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Neuchâtel, Cour d'appel civile.
Lausanne, le 6 août 2020
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
Le Greffier : Douzals